PHP Uygulamaları ilk kez web programcısı için

9 Cevap

Ben şimdi oldukça bazen kafamın etrafında yüzen olmuş bir web sitesi için bu fikrim var ve şimdi nihayet üzerinde çalışmaya karar verdik. Nedeniyle projenin niteliğine ve benim deneyim ben bir Apache sunucu üzerinde PHP + MySQL uygulama olarak çalışan fikri ile rahat alıyorum.

Bu benim ilk kez (ben kodlama sysadmin ve anabilgisayar sistemlerinde bir arka plan var) herhangi bir tür web programlama yapıyor ve ben kendimi daha sonra şeyleri tekrarlamak / sökerek bulmuyorum böylece uygulamalar dikkate almak ne güzel emin değilim proje. Dil (görülebildiği here ve here) StackOverflow almıştır bunun gibi bir acemi için dışarı izlemek için yaygın hatalardan bir dizi var güzel olurdu tüm uçaksavar göz önüne alındığında ben. Bunu buldum thread PHP önlemek için bir şeyler koyan ama sadece PHP üzerinden kuruyor benim gibi birisi için çok az mantıklı noktalarının çoğu.

Eğer herhangi bir öneri, ipucu ya da tamamı yeniden yazar talep projede daha sonra tekrar gelebilir dilinde ortak yakaladım bulunuyor özetleyen öğreticiler var mı.

Bu değer ne için ben şu anda Programming PHP(O'Reilly) ile yoluma çalışma ve PHP in Action(Manning). Am

9 Cevap

Ben bir NOS kökenli kendimi geldim, bir kaç yıl önce çok benzer bir konumdaydı.

Aslında Aptallar için PHP ve MySQL ile başladı. Ben burada bulunan bilgiyi absorbe vardı sonra, ben Web vurmak (Boushley tavsiye gibi, SitePoint çok kullanılan) ve ben bu konuda O'Reilley kitabının birkaç okudum.

Sana anlatacağım şey bir kez, sizin anlayış ve verimlilik düzene istiyorsanız, MVC çerçeveler (CodeIgnitor, CakePHP, vb) bir dizi ile büyük bir başarı bulduk olmasıdır. Eğer MVC nedir hiçbir fikrim yok, ben bulmaya öneririz. Şimdi MVC kullanmak, benim kod, vb anlamak, değiştirmek gidermek için daha kolaydır

Ve dürüst olmak gerekirse, PHP öğrenme yarısı bu yaygın hatalardan çalıştırıyorum ve onlardan öğreniyor. Eğer bunları yapmak kadar onun zor bu 'ortak hataları' takdir.

Sadece eğilerek START öğrenmek için gidiyoruz NASIL endişe etmeyin!

Sana tavsiye tek parça vermek olsaydı, bir çerçeve kullanmak olurdu - onlar hayatınızı çok daha kolay hale getirecek. Onlar, programlama web sitelerinden tüm tekrarlayan kodunu alıp güvenlik kaygıları ve soyut şeyler çok işlemek, hem de böyle Model-View-Controller olarak bir desen kullanarak web sitesi oluşturmak yapmak.

Ben çok bu sadelik, güç, büyük belgeler ve kullanım kolaylığı için CodeIgniter çerçeve tavsiye, ancak diğer iyi çerçeveler bol da vardır. Bu yüzden hızlı bir arama var SO üzerinde birçok soru vardır. Orada BinaryCake gelen CodeIgniter fantastik bir tanıtım screencast (yakında bir dizi olmak üzere), yani check that out here.

Ben bu yardımcı umut! Eğer herhangi bir PHP endişeleriniz varsa, bana mesaj çekinmeyin - bu (CodeIgniter ile birlikte) benim uzmanlık alanım var ve ben onu seviyorum!

Hala gelişmekte olsa da, tüm hataları göstermek adres:

ini_set('display_errors', '1');
error_reporting(E_ALL | E_STRICT);

(Değişken adları diyelim ki, yazım hataları durumunda) çok zaman kaydedebilirsiniz. O göstermek veya sadece ilgili site ve güvenlik düzeyleri tipine bağlı olarak "gerçek" hataları görüntülemek değil canlı gittiğinde (herkes yolları ve değişken adlarını ve bu tür bilmek istemiyorum ..) değiştirin.

Size uygun bir değişken / fonksiyon adlandırma kuralı (camelCase vs vs under_scores.) Bulun ve ona sopa. Ayrıca, sınıflar / sınıf dizinine gidin, ikisi de bu daha kolay artık kendi kod yıllar anlamak için yapmak içinde / inc vb içerir. Oh, ve aynı stil kodlama için gider sanırım: birini seçin ve ona sopa (girinti, dirsek tarzı, ..).

Şahsen ben de ne ve niçin yaptığımız zaman gösterir artık dosyaların sonunda küçük bir günlüğü var :-) kodunuzu yorum. Her ek timestamped olduğunu ve üzerinde oturur satır sayısı kolaylıkla değiştirebilirsiniz gibi aynı zaman damgası, değişimin kendisi arkasında yorumların aynı zamanda. Benzer şekilde, fonksiyonları bir sürü içeren bir dosya içinde yer, ben arkalarında bir tek satır açıklama ile, dosyanın üstünde bir açıklama fonksiyon adları listesi var.

Finally on security (though this should really be your first concern ;-) ), treat all user input as suspect. That's POST & GET data, cookies, user-agent string, search strings - anything that is supplied by the browser. It's trivial to change cookie data or change/add form items. Read up on SQL injection & XSS attacks, and look at PHP's relatively new data filter functions: http://php.net/manual/en/intro.filter.php

Bazı iyi okuma almak için bu herhangi google

  • Register_globals kullanmayın
  • Magic_quotes kapatın - SQL deyimlerinde tüm kullanıcı girilen girişi kaçış
  • Htmlspecialchars'dan ile basılmış herhangi bir kullanıcı girilen girişi Escape ()

Artı çok daha fazla ... Bu olsa için dikkat edilmesi gereken bazı ortak şeyler vardır.

Öğreticiler bir sürü orada büyük web siteleri vardır. Akla gelen bir Sitesi Noktasıdır. Onlar Yorum yok ise orada bir kitap ya da iki satmak için ellerinden geleni yapacağım, ama bazı iyi makaleler var. Örneğin bu makalede php bazı ortak güvenlik gaflar anlatılır.

http://www.sitepoint.com/article/php-security-blunders/

Onlar çok var ...

http://www.sitepoint.com/search/search.php?ps=10&q=php&submit=Search

Ayrıca nettuts.com öğreticiler bu doğanın bir şey bir yük vardır. Onlar olsa yönüyle daha sensin.

http://nettuts.com/

Ve ben size register_globals, magic_quotes dikkat gibi yaygın olanları görürsünüz bakmak hemen hemen her yerde düşünüyorum ...

O bakmak için iyi bir kitap aynı zamanda here gelişmiş bir PHP teknikleri acemi kapakları ve iyi standartları öğrenmek için iyi bir yoldur indirmek için ücretsiz :)

Bir çerçeve kullanın ve Object Oriented Programming kullanın

Kitaplar ek dil öğrenme için büyük, ancak ilk biri için, iyi bir video öğretici gitmek için harika bir yoldur!

Bir Lynda.com hesabı için kayıt (google: Lynda deneme) ve (ya da iyi ve dürüst bir kişi olması ve bir hafta satın) ihtiyacı gibi birçok bir gün deneme kaydolmak. Bunlar oldukça iyi bir acemi ve (IMHO) ilk dil öğrenmek için harika bir yoldur video eğitimlerini gelişmiş bir PHP dizi var.

Bir ipucu: Obje Orientedly programlama başlatabilirsiniz olsun-go neyse ki gelişmiş öğreticiler bu kapak, baştan iyi uygulama gelecekte biraz zaman kazanmak ve öğreneceksiniz!

İşte link: http://www.lynda.com/home/DisplayCourse.aspx?lpk2=435

(Ben birkaç yıl önce öğrendim, farklı olarak) özellikle bu dersi hiç, ama ben sadece (sadece başlangıç ​​oldu) bir arkadaşım bu tavsiye, ve o gerçekten sevdim!

Bu yardımcı olur umarım!

Genel olarak programlamaya yeni iseniz, bir veritabanı destekli web uygulaması inişli çıkışlı bir yolculuk olması muhtemeldir. Muhtemelen en az iki, gerçek programlama dilleri, PHP ve SQL programlama olacak ve siz de mütevazı karmaşıklık şey, JavaScript yapmak için gidiyoruz eğer. Hepsi oldukça farklı olduğu için boğaz tutarak, kaba olacak.

Sadece programlamaya ısınmak için, bu tür Euler Project sorunları, ya da Code Kata ile çalışma gibi bir daha odaklanmış bir öğrenme excercies, yerine kullanarak başlamak isteyebilirsiniz.

Her iki şekilde de, ağır kaldırma için bir MVC framework kullanarak burada popüler öneri de dahil olmak üzere, onlar hakkında bilgi edinmek yerde iyi alışkanlıklar almaya çalışın.