Php dilini sıfırdan öğrenin. PHP öğrenmeye nasıl başlanır? Dil öğrenimi için bu kaynakları önerebilirim

İyi günler, blogumun sevgili okuyucuları. Bir yerde, hayatındaki her insanın şiir yazmaktan geçmesi gerektiğini duydum. Durum değişiyor ve şimdi her ikinci kişi kod yazmayı ve kendi web sitesini oluşturmayı düşünüyor. Birçoğu şu anda birleşiyor, diğerleri motora hiçbir şekilde karar veremiyor. Bu makaleyi okumayı bitirir ve tavsiyelerime göre öğrenmeye devam ederseniz, başaracağınızdan neredeyse eminim.

Konu oldukça karmaşık. Bugün php ile sıfırdan bir web sitesi nasıl yazılır hakkında konuşacağız. Gelin bu çok sevilen üç harfin ne anlama geldiğine daha yakından bakalım ve öğreneceksiniz. daha iyi yollar sadece öğrenmekle kalmayıp php'yi gerçekten anlayın.

PHP nedir?

Bu makaleye bu soruyla başlamak biraz garip çünkü zaten her şeyi bildiğiniz ve bu nedenle zorluklara hazır olduğunuz varsayılıyor. Ancak, blogum yeni başlayanlar için. Hoşgörülü olun, bilgileri tekrar edelim.

Basit konuşma ve erişilebilir kelimeler php, bir web sunucusunda çalışan bir web uygulamasını komut dosyası yazmak için özel olarak tasarlanmış bir programlama dilidir. Web sitelerinin %85'i kullandığı için bu oldukça popüler bir programlama dilidir.

Bu dilin özelliği, evrensel olması, öğrenmesi kolay olması ve sadece programcı olarak değil, aynı zamanda bir işadamı olarak da fırsatlarınızı açmasıdır. Sonuç olarak, projelerinizi kendi başınıza yazabilecek ve geliştirebileceksiniz. Kimsenin yardımı olmadan.

etkili bir şekilde çalışıyoruz

Birçoğu bu dili öğrenmeye başladı, ancak çok azı sona ulaştı. Etkili öğrenme için yapmanız gereken ilk şey bir bilgi kaynağı, bir kitap, bir öğretici veya bir video bulmaktır, ancak daha sonra daha fazlasını bulacaksınız.

Ardından derleyiciyi indirmemiz gerekiyor. Bu, komut dosyanızı satır satır deyim olarak okuyan ve çalıştıran bir programdır.

En yaygın derleyici, basit ve ücretsiz bir paket olan denver'dir. istenilen programlar ile komut dosyaları yazabilirsiniz. Fikrimi sorarsanız, Open Server'ı indirmenizi tavsiye ederim. Şimdi ivme kazanıyor. Denver'dan bir baş daha uzun ve çalışmanız sizin için daha rahat olacak.

Bu paketler ne işe yarıyor? Bir sunucuda olduğu gibi izin verir ve üzerinde çalışırlar. Şu anda herhangi bir şey indirmek gerekli değildir. Herhangi bir eğitim kursunda bu serideki faydalı yazılımları bir kereden fazla duyacaksınız, ancak buna ihtiyacınız olacak.

Etkili öğrenmenin özü, dersten geçtikten sonra her şeyi uygulamaya koymaya çalışmanız gerektiğidir. Teori pratikle destekleniyorsa, birkaç hafta içinde temel bir dil becerisine sahip olacaksınız.

Öğrenmek için kitaplar

Size söyleyeyim, ben kitap hayranı değilim. İnternet teknolojisine gelince. Bir Masai adamına wi-fi'nin ne olduğunu açıklamak gibi. Hiçbir çizim her şeyi normal şekilde anlamaya yardımcı olmaz. Yine de, profesyoneller arasında listelenen aptallar için küçük bir php kitap listesi sunmak istiyorum.

Amacınıza gerçekten ulaşmanızı istiyorum ve bu eğitim seçeneğinin size daha çok yakışacağını düşünüyorsanız, bilgi vermekten mutluluk duyacağım.

PHP ve MySQL. Web uygulaması geliştirme Bu yeni başlayanlar için harika bir kitap. Her şeyden önce, yazar Apache (HTTP sunucusu), PHP ve MySQL (veritabanı) nasıl kurulacağını gösterecek, ardından size bir kod düzenleyicisinin nasıl seçileceğini anlatacaktır. Kitap şunları kapsar: dilin sözdizimi, en kullanışlı özellikler, kendi motorunuzu ve bir dizi başka işlevi oluşturma.


Genel olarak, şaşırtıcı bir şey değil mi? Ancak yine de, başka hiçbir yerde bulamayacağınız benzersiz bilgiler içeren gerçek bir ders kitabıdır. Bu beşinci baskıdır, bu nedenle eski bilgiler olmayacaktır. Kitap 2015 yılında çıktı. Kodu kendiniz tanımaya başlamak için - bu kadar.

HTML, JavaScript, PHP ve MySQL. Web Yöneticisinin Beyefendi Seti - Bu, php öğrenmekle ilgili daha ayrıntılı bir eğitimdir. Web uygulamalarının tam olarak oluşturulmasının imkansız olduğu diğer birçok faydalı uygulamaya değiniyor.

Okuması kolay, kendi kendine çalışma ve öğrenci öğrenimi için uygun. Yazar, php'nin temelleri, dinamik sayfa oluşumu gibi konulara değiniyor. CSS yardımı(basamaklı stil sayfası), veritabanı yönetimi, oluşturma dinamik sayfalar JavaScript'i kullanarak.


PHP, MySQL, JavaScript, CSS ve HTML5 ile dinamik web siteleri oluşturun bu kitap Halihazırda temel HTML düzeni becerilerine sahip olan daha ileri düzey okuyuculara tavsiye ederim. Bunu daha önce okuduysanız ve hala temel ilkeleri hatırlıyorsanız, o zaman bu kitap tam size göre.


PHP ve MySQL. Yeni başlayanlardan profesyonellere - ve Kevin Jank'ın kitabı, yazarın bir veritabanı ile web uygulamaları oluşturmaya yönelik güçlü bir önyargıya sahip olduğu incelememizi tamamlıyor.


Kitap okumak çok kolay ve kendi kendine çalışma için mükemmel.

Youtube videosu

Kendi deneyimlerime dayanarak, YouTube videolarından php öğrenmenin oldukça zor olduğunu söyleyeceğim. Basit gibi görünseler de. Sevdiğim Photoshop eğitimlerinin aksine YouTube'da programlama dilleri öğrenmek tek kelimeyle imkansız. Sadece 15-20 dakikalık bir video bile çok fazla rahatsızlığa neden oluyor.

Bu tür videolar, kodu kendiniz yazmaktan sizi vazgeçirebilir. Neden, yazar sizin için her şeyi zaten yaptıysa: yazdınız, başlattınız, her şeyin nasıl çalıştığını belirli bir örnekle gösterdi? Sonuç olarak, bir şeyi hatırlamak neredeyse imkansızdır.

öğretici

Bana göre, bu mükemmel bir öğrenme deneyimi. Sizinle bir uzmanın olması harika.

Her derse yorumlar eşlik eder, uzmanlara sorular sorabilir, sakince tartışabilir ve anlaşılmaz noktaları çözebilirsiniz. Bilgi aramak için internette gezinmek zorunda değilsiniz. Her şey çiğnenip ağza atılacak, geriye sadece kullanmak kalıyor.

Size bir görev verilecek ve bunu ne kadar iyi yaptığınızı görmek için izlenecek.

sana tavsiye edebilirim netoloji kursu . Bu eğitim merkezi profesyoneller arasında değerlidir ve sadece iki ay içinde ihtiyacınız olan her şeyi öğrenebilirsiniz. Gruptaki setler sürekli oluşur.

Bir şey anlamadıysan endişelenme. Bu, kursun sizin öğrenmeniz için tasarlandığı şeydir. Bu gerçek adım adım talimat yeni başlayanlar için. İnanmıyor musun? İndirmek tam program resmi web sitesinden kurs ve buna ikna olacaksınız.


Kendi başınıza ve php olmadan site oluşturmayı öğrenmeyi hayal ediyorsanız, bu sizin için en iyi seçenektir.

" nereden başlamalı PHP öğrenme?


Web sitesi geliştirme en popüler alanlardan biridir. Web geliştirme, dinamik siteler oluşturmak için PHP programlama dilini kullanan en deneyimli programcılar tarafından yapılır.

Doğal olarak, sadece profesyonel programcılar değil, yeni başlayanlar da İnternet projeleri geliştirmek isterken, hemen hemen her acemi web geliştiricisinin bir sorusu vardır. PHP öğrenmeye nereden başlamalı?. şunu belirtmekte fayda var verilen dil programlamayı öğrenmek oldukça kolaydır, ancak bunu öğrenmek biraz zaman ve ön hazırlık gerektirecektir.

PHP programlamayı öğrenmeye başlamadan önce hiper metin dilini öğrenmeniz önerilir. HTML işaretlemesi ve basamaklı tablolarla çalışma ilkeleri css stilleri. Bu bilgi yönetmek için gereklidir görünüm internet sayfaları.

Ayrıca, sitede kullanılan bilgileri depolamak için bir veritabanı geliştirilmektedir, bu nedenle programcının uygun bilgiye sahip olması gerekir. Yapılandırılmış sorgu dili SQL, veritabanlarını yönetmek için kullanılır.

PHP ile çalışmak için neye ihtiyacınız var? Hakkında sorusu olan acemi programcılar PHP öğrenmeye nereden başlamalı, sitenin gelişimi için gerekli program setini tanımanız gerekir.

PHP'de programlamak için yazılım paketini önceden yüklemeniz gerekir. Bu paket şunları içerir: Apache sunucusu, kendisi bir PHP hiper metin ön işlemcisi ve veritabanı yönetim sistemlerinden biridir.

Üzerinde yerel bilgisayarlar Bu yazılımı yüklemek için genellikle özel yazılım paketleri kullanılır. Web geliştiricileri için popüler paketlerden biri Denver'dır. Bu program kümesi üzerinde çalışır işletim sistemi Pencereler. Linux kullanıcıları için de yazılım paketleri vardır.

Denver paketi, PHP'de site oluşturmak için gerekli olan birçok faydalı yardımcı programı içerir. Paketin kurulumu oldukça basittir ve eğitimsiz bir kullanıcı tarafından bile yapılabilir.

Denver yazılım paketini kurduktan sonra bir İnternet projesi geliştirmeye başlayabilirsiniz. MySQL veritabanları, kullanışlı phpMyAdmin araç seti kullanılarak yönetilir. phpMyAdmin'deki veritabanlarıyla ilgili tüm eylemler, açık bir komut kullanılarak gerçekleştirilir. GUI ve istenen menü öğelerinin seçimine indirgenir.

PHP programlama dilinin sözdizimini öğrenmek.

Gerekli tüm programları kurduktan sonra yapabilirsiniz. Dünyanın sıradan dilleri gibi programlama dillerinde de program yazabilmek için onların kurallarını öğrenmelisiniz. Kodda en az bir sözdizimi hatası yapılırsa, program başlamaz ve site içeriği yerine kullanıcı, tarayıcı tarafından görüntülenen ilgili mesajı görür.

PHP programlama dilinin söz dizimini öğrenmek için ilgili literatürü okumanız gerekecektir. Kitabı sitemizden kullanabilirsiniz. Küresel ağa erişimi olanlar için, tematik sitelerde yayınlanan birçok bilgi de sağlanmaktadır. Mevcut çok sayıda Gerekirse, eğitim sırasında ortaya çıkan sorulara yanıt alabileceğiniz forumlar ve topluluklar.

Edebiyat çalışmasından istenen etkiyi elde etmek için, bunun için yerel bilgisayarınızı kullanarak tüm teorik dersler pratikte yapılmalıdır.

PHP programlama dili birçok bileşenden oluşur. çeşitli operatörler ve işlevler, bu nedenle kursu tamamladıktan sonra programcılar özel referans kitapları kullanır. Bu referans kitapları, gerekli işlevin sözdizimini ve anlamını hızlı bir şekilde görmenizi sağlar.

Eğitimin son aşaması: Eğitimin son aşamasında, nasıl yapılacağı ile ilgili tüm sorular PHP öğrenmeye nereden başlamalı, site sunucuya aktarılır. Kural olarak, barındırma sağlayıcıları gerekli tüm yazılımları sunuculara zaten yüklemiş ve temel ayarlar. Geliştiricinin yalnızca program kodunu içeren dosyaları sunucuya kopyalaması gerekir.

RSS heyecan, yorum veya e-posta.

PHP'yi Nasıl Öğrendim

2006'da sitelerimden biri için bir komut dosyasına ihtiyacım vardı. Senaryo oldukça benzersizdi, bu yüzden onu arama motorlarında bulamadım (hala ücretsiz olarak mevcut değil). Sadece bir sitede 20 dolara satılan benzer bir komut dosyasına rastladım. O kadar harcamayı göze alamazdım.

Sonra kendim yazmaya karar verdim. Teori bana ilginç gelmediği için hemen programlamaya başladım. Örnekleri izledim, kod parçalarını kopardım ve senaryoma ekledim.

Asıl zorluk, betiğimin bir yerde veri depolaması gerekmesiydi. MySQL veritabanını seçtim. Bu arada, bu yüzden hala metin dosyalarıyla iyi çalışmıyorum.

Şimdi, yazılı koda bakıldığında insan gülümsemeden edemiyor. O zaman $_GET['id'] ve $id arasındaki farkın ne olduğunu bile bilmiyordum (programcılar anlayacaktır). Ve işin bittiği sırada bilmiyordu. Ama en önemlisi, senaryo çalıştı. En ilginç şey, hala benim SDL'mde takılı kalması ve çalışması.

Senaryo tamamen yeniden yazılmalıdır, ancak yeniden yazmak daha kolaydır. Ve bunu hurda olarak yapmak (ve fazla bir nokta görmüyorum). Bunca yıldan sonra yaptığım tek şey güvenliği düzeltmekti.

Sonra başka betikler vardı, PHP'ye ilgi arttı. Sadece kod yazmak eğlenceliydi. Dilde daha ileri gidebilir ve bir programcı olabilirim. Ama olmayı hiç istemedim. Ben de durdum. Ve şimdi sadece kendim için yazıyorum. Daha ileri gidebilirsiniz.

Uygulama

Doğrudan uygulamaya gidin. Mini görevler belirleyin ve bunları çözmeye çalışın. Yeni başlayanlar için çok küçük bir tane koyun. Örneğin, 3 + 2'nin ne kadar olacağını hesaplayın ve görüntüleyin.

$sayı1 = 3;
$sayı2 = 2;
$cevap = $chislo1 + $chislo2;
yankı $cevap;

Bu kod birkaç kez azaltılabilir (bir satıra kadar), ancak yazdığım formda zaten bir şey netleşiyor. Örneğin, bu saçmalık yankısı ekranda yanıtı görüntüler. Şimdi böyle bir örneğin nasıl hesaplanacağını tahmin edin - 3 + 7 * 2 (yorumlara yazabilirsiniz).

Bu örneklerle başlayabilirsiniz. Ve daha zor olabilir. Örneğin, ziyaretçi defterinden. Bu arada, bunun ne olduğunu hatırlayan var mı? 🙂 Senaryo aslında çok basit, bu yüzden dil öğrenmek için çok iyi.

misafir defteri nasıl yazılır

Mesajları MySQL veritabanında saklayacağız. Bunu yapmak için, içinde şu alanları içeren yalnızca bir tablo oluşturmamız gerekiyor: kullanıcı adı, e-posta, mesajın tarihi ve mesajın kendisi.

Sadece PHP'de veritabanından gelen mesajların çıktısını ve yenilerinin eklenmesini yazmak için kalır. Çözümü ders kitaplarında, örneklerde vs. arıyoruz. Yandex veya Google'da "MySQL'den gelen verilerin nasıl görüntüleneceği" sorgusunu kullanabilirsiniz.

Veya forumlarda sorun - “Bir misafir defteri yazıyorum. Veriler bir MySQL veritabanında saklanır. Alanlar şunlardır: kullanıcı adı, e-posta, mesajın tarihi ve mesajın kendisi. Sayfadaki tüm mesajların nasıl görüntüleneceğini söyleyebilir misiniz? Aslında soru çok basit ve cevabını kendiniz bulabilirsiniz.

Aşağıdaki çalışma planını öneriyorum:

Gerekli script -> Görevlere ayırma ve ayarlama -> Ders kitapları, örnekler, forumlar vb. kullanarak problem çözme -> Teori okuma, yazılı kodu anlama ve gerekirse değiştirme -> Senaryo hazır

Dil öğrenmek için şu kaynakları önerebilirim:

forumlara yazmayın Genel Sorular"Ziyaretçi defteri nasıl yazılır?" gibi. “Şu şu senaryoyu yazıyorum” gibi spesifik sorular sorun. İşte çizdiğim şey. Bir şey neden burada görüntülenmiyor? Ve nasıl yapılır? Bunu açıklayın ”(misafir odası ile ilgili paragrafta bir soru örneği verildi).

Herhangi bir sorunuz varsa - sorun!

———————-

Yeni başlayanlar için birkaç PHP dersi yazma düşüncesi vardı. Ama sizin için ilginç olacak mı sevgili okuyucular?

Lütfen yorumlarda iki soruyu yanıtlayın:

1. Herhangi bir programlama dili biliyor musunuz ve hangileri?
2. PHP hakkında okumak ister misiniz?

not PHP öğrendikten sonra TopSape gibi bir servis yazabilirsiniz.

Dikkat! Mini yarışma! Bir sonraki gönderiye yapılan yorumlarda abonelikten çıkan ilk üç kişi başına 5 $ alacak! İlk olmak için RSS'e abone olun. Son gönderi retweet yarışması kazananları: lexnevermind, arshi13rus ve voeslav. WMR cüzdanlarını bekliyorum

Reg.ru: alan adları ve barındırma

Rusya'daki en büyük kayıt şirketi ve barındırma sağlayıcısı.

2 milyondan fazla alan adı hizmette.

Promosyon, alan adı için posta, iş için çözümler.

Dünya çapında 700 binden fazla müşteri şimdiden seçimini yaptı.

*Kaydırmayı duraklatmak için fareyle üzerine gelin.

İleri geri

PHP Öğrenmenin ve Yavru Kedileri Kurtarmanın 20 Yolu

1700'lerin başına kadar giden eski bir söz vardır. "Bir PHP programcısı en iyi kodlama uygulamalarını takip etmediğinde, bir yavru kedi ölür" diyor.

Tamam, şaka olsun ama başladığımız yerden başlayalım.

PHP'ye başlamak zor bir deneyim olabilir. Buna göre, 20 iyi tavsiye size en iyi uygulamaları nasıl takip edeceğinizi ve yavru kedilerin hayatlarını nasıl kurtaracağınızı öğretir.


0. Olabildiğince sık kodlayın.

okulda okudun yabancı Dil? En basit ifadelerden ve yapılardan inşa edilen öğretmenin konuşmasını sürekli dinlerken konuşmanın tüm bölümlerini, fiilleri ve bunların nasıl birleştirileceğini öğrendiniz mi?

O zaman kazandığınız bilginin ne kadarını gerçekten kullanıyorsunuz?

"Belirli bir amaca yönelik sık programlama, sağlam bir öğrenme deneyimine yol açacaktır."

Cevabınız "hayır" ise, bahse girerim çünkü dili gerçekten kullanmadınız - sadece öğrendiniz. Ancak yine de bir konuşmayı sürdürebiliyorsanız, bunun nedeni muhtemelen o dili bir süredir öğrenme bağlamının dışında konuşuyor olmanızdır. Belki yurtdışında biraz zaman geçirdiniz ya da bu dilin gerekli olduğu bir yerde çalıştınız?

Sebep ne olursa olsun, onu yalnızca gerçek yaşam durumlarında, kişisel bir bağlamda kullandığınız için sakladınız, bu da gelecekte ana noktaları hatırlamayı kolaylaştırıyor.

"PHP, İspanyolca veya Fransızca gibi yabancı bir dildir. Onunla rahat hissetmek için "sınıf" dışında pratik yapmanız gerekir..

Öğreticiler ve örnek projeler, temel bilgileri öğrenmek için harikadır, ancak bilgiyi kendi projelerinize uygulamaya başlayana kadar, kafanızda pek oturmayacaktır.

Projeye başlamadan önce "ihtiyacınız olan her şeyi bilmiyorsanız" endişelenmeyin. Bir projeye karar verdiğinizde, ihtiyacınız olan her şeyi öğrenmek ve uygulamaya koymak için iyi bir nedeniniz var. Belirli bir hedefle sık sık programlama, bilginin sağlam bir şekilde emilmesine yol açacaktır.


1. PHP belgelerine göz atın

Her liste faydalı ipuçları nedense bu öğeyi içeriyor. Ve kesinlikle boşuna değil.

PHP belgelerinde gezinmeyi öğrenmek en çok kullanışlı şey, bir web programcısı olarak kendiniz için yapabilirsiniz.

Tarayıcımdaki sitelerin geçmişine bakarsanız, en çok ziyaret edilen PHP kılavuzudur. Ve PHP'de programladığım sürece durumun değişmeyeceğinden şüpheleniyorum.

İlk başta, kılavuz biraz karmaşık görünüyor ve navigasyon biraz hantal geliyor, ancak bu geçicidir ve çok yakında gezinmeyi çok kolay bulacaksınız.

Kılavuzla ilgili faydalı bilgilerden biri, belki de çoğu özelliğin şablon kullanılarak bulunabilmesidir. http://php.net/işlev-adı adres çubuğunda. Örneğin, bir işlev bulmak için strpos() adresi kullan http://php.net/strpos, ve için array_key_exists() - http://php.net/array-key-vardır. Adreste parantez bulunmadığını ve değişikliği not edin vurgulamak kısa çizgi karakterine.


1 A. Yorumları okuyun!

Yorumları gözden kaçırmak kolaydır, ancak kendinize bir iyilik yapın ve onları inceleyin. Bir işlevin sonucu olarak beklenmedik bir sonuç alırsanız, muhtemelen biri bunu fark etti ve yorumlarda ne olduğunu açıkladı.

Ayrıca diğer kişilerin yorumlarını okuyarak diğer geliştiricilerden birçok faydalı fikir edinebilirsiniz.


2. Büyük PHP Topluluğundan Yararlanın

PHP kılavuzuna ek olarak, web'de başka birçok harika geliştirici topluluğu vardır. Favorilerim arasında: stackoverflow.com ve forum W3Schools.com.

Ayrıca Twitter, PHP hakkında soru göndermek için şaşırtıcı derecede harika bir yerdir. Bir tweet'i "PHP" ile etiketlerseniz, topluluktaki birinin fark edip yardım eli uzatması ihtimali yüksektir.

"PHP'de daha iyi hale geldikten sonra geri ödediğinizi hatırlamak önemlidir. Topluluğun yaşayabilmesi için mümkün olduğunca çok aktif insana ihtiyacınız var. Diğer yeni başlayanlardan gelen soruları yanıtlamaya çalışın. Başkalarının sorularına sağır olmayın."


3. İyi uygulamayı ertelemeyin

Öğrendikçe, muhtemelen PEAR'dan hazırlanmış ifadeler ve standartlar gibi iyi kodlama alışkanlıkları ve standartları hakkında bir şeyler duyacaksınız. Sırf karmaşık göründükleri için bu şeyleri öğrenmeyi "sonraya kadar" ertelemeyin.

"Bir şey iyi uygulama ise, bunun nedeni biz (diğer PHP programcıları) bir araya gelip 'Yeni başlayanlar için hayatı nasıl zorlaştırabiliriz?' dememiz değildir.

Komut dosyalarınızı daha esnek, daha güvenli ve daha hızlı hale getirmek için iyi uygulamalar mevcuttur. Onları olabildiğince çabuk öğrenin. Aslında öğrenmeye yanlış yoldan bile başlamamalısınız.

Ders çalışmak için harcadığın zaman mysql_query()çalışma süresi ile karşılaştırılabilir PDO veya MySQLi. Bu nedenle, hemen ikinci seçenekle başlarsanız, bir veritabanıyla çalışmanın temelleri ile başladığınızdan ve nihayetinde bunun için daha az çaba ve zaman harcadığınızdan emin olabilirsiniz.


4. İyi uygulamaları sonraya ertelemeyin!

Bunu not aldığından emin olmak istedim.

"Cidden çocuklar. Gecikmeyin uzun kutu. "Çok karmaşık" göründükleri için en iyi uygulamaları her bozduğunuzda, BP başka bir tüylü kedi yavrusunu ham petrolde boğar."

Yani bunu kendiniz, projeleriniz, meslektaşlarınız veya genel olarak toplum için yapmıyorsanız, en azından yavru kedileri aklınızda tutun.


5. Kodunuzu kendi kendine belgeleyin

İlk aşamalarda, elbette, değişken ve işlev adlarıyla "oynamak" cazip gelebilir. Belki performansla ilgili makaleler okudunuz ya da sadece iki satır kodla tonlarca iş yapan bir kod parçacığı gördünüz (ama çok uzun :)) ya da kendi kodlama "ticari markanızı" yaratmak istiyorsunuz?

"Genel komut dosyası yürütme süresini 0,2 ms azaltmak için değişken adlarındaki tüm karakterleri sürdürmek istiyorsanız, büyük sorunlarla karşılaşmanız olasıdır."

Günaha ne olursa olsun, ne pahasına olursa olsun direnmelisiniz.

Aşağıdaki kod parçacığını göz önünde bulundurun:

Burada neler olduğunu hemen anlıyor musun?

Tabii ki, nasıl çalıştığını anlayacaksınız, ama neden kodunuzu inceleyen diğer insanları, "konuşan" adı "c" olan değişkenin ne içerdiğini anlamaya çalışmak için fazladan bir dakika harcamasını sağlayın?

Bu kodu alıp kendi kendini belgeleyelim:

Bu kadar. Çok daha iyi. Şimdi, sadece koda bakarak, neler olduğu hakkında genel bir fikir edinebilirsiniz. Alın ovuşturmak ve mırıldanmak yok ve en önemlisi fark yok.

Tabii ki, kısa değişken isimleri kullanarak birkaç bayt kazanabilirsiniz. Ancak, açıkçası, toplam komut dosyası yürütme süresini 0,2 ms azaltmak için değişken adlarındaki tüm karakterleri sürdürmek istiyorsanız, büyük olasılıkla büyük sorunlarla karşılaşırsınız.


6. Düşünmeniz gereken her şeye yorum ekleyin

Yorumlar değil damga yeni gelenler. Aksine, başka birinin kodunu büyük miktarda inceleyerek, yorumların yetkin bir web programcısının işareti olduğu sonucuna varıyorum.

Kodunuz kendi kendini belgeliyorsa, çok fazla yoruma ihtiyacınız olmaz. Bununla birlikte, fonksiyonlarınızın ve değişkenlerinizin adları ne kadar açık ve anlaşılır olursa olsun, mükemmel eylem tamamen açık olduğunda her zaman bazı "beyaz noktalar" olacaktır.

"Yorumlar, yetkin bir web programcısının işaretidir."

Bu olduğunda, kodu yorumlayın. "Gelecekteki Sen", "Şu anki Sen" deyin, senaryoyu değiştirme zamanı geldiğinde çok teşekkür ederim.

"Kural olarak, senaryonun olması gerektiği gibi çalışması için ne yapılması gerektiğini birkaç saniye düşünürseniz, bu not almaya değer olduğuna dair kesin bir işarettir."

Bir göz atalım:

$parçalar = patlat(".", $image_name); $uzantı = dizi_pop($parça);

Burada neler oluyor? Durup kod hakkında düşünmek zorunda mıydınız? Değişkende ne olduğundan hala emin değilsiniz $uzantı?

Sadece kısa bir yorumla aşağıdaki parçaya tekrar bakın:

// Resim dosya uzantılarını al $parçalar = patlat(".", $image_name); $uzantı = dizi_pop($parça);

Şimdi, bazı kodların nasıl çalıştığını tam olarak bilmiyor olsanız bile, en azından değişkende ne olduğunu bileceksiniz. $uzantı resim uzantısıdır. Future You'ya yardımcı oluyorsa veya başka bir geliştiricinin zamanından birkaç saniye tasarruf sağlıyorsa, yorum eklemek için 7 saniye harcamak mantıklıdır.

Her zaman olduğu gibi, ılımlılık anahtardır.

Çok az yorum yaparsanız, başka bir geliştiricinin (ve "Geleceğinizin") belirli kod parçacıkları hakkında kafasının karışması riskini taşırsınız. Bu, yanlışlıkla kod kırılmasına bile yol açabilir, çünkü açıklama yoksa, kod saçma veya gereksiz görünebilir.

"Ilımlılık her şeyin anahtarıdır."

Çok fazla yorum - ve kodunuzun "taraması" zorlaşıyor ve bu da işi büyük ölçüde engelliyor.


7. Docblock'u öğrenin ve kullanın

Docblock, yorum yapma standardıdır (daha fazla bilgi).

Bu standardı kullanmamın birkaç nedeni var:

1. Her dosya, işlev, yöntem vb. için "ne" ve "neden" hakkında düşünmemizi sağlar.

2. Fonksiyonlar/yöntemler için beklenen parametrelerin ve dönüş değerlerinin net açıklamalarını verir.

3. O verir Kısa Açıklama belirli bir kod ne yapar.

4. Dockblock'u destekleyen bir geliştirme ortamı (IDE) ile birlikte, kod ipuçlarına sahibiz (kullandığımız işlevler ve yöntemler için açıklamaları, beklenen parametreleri ve dönüş değerlerini görmemizi sağlar).

Bu nokta "üst düzey yeni başlayanlar" için bir sınırlama olarak adlandırılabilir, ancak bunu mümkün olan en kısa sürede ustalaşması gereken en iyi uygulamalara bağlıyorum.

Bu adımı atlamaktan çekinmeyin, ancak yavru kedileri aklınızda bulundurun.

Docblock, sınıfları belgelemek için kullanıldığında çok yönlülüğünü gösterir:

/** * $_foo ve bir değerin toplamını veya farkını hesaplamak için basit bir sınıf * * @author Jason Lengstorf * @copyright 2011 Copter Labs * @license http://www.opensource.org/licenses/mit-license.html */ class CopterLabs_Test ( /** * Toplama ve çıkarma için kullanılan değer * @var int */ private $ _foo = 0; /** * $_foo'ya değer ekleyin ve toplamı döndürün * @param int $add_me $_foo'ya eklenecek değer * @return int $_foo ve $add_me'nin toplamı */ public function add_to_foo($add_me=0) ( return $this->_foo += $add_me; ) /** * $_foo'dan bir değer çıkar ve farkı döndürür * @param int $subtract_me $_foo'dan çıkarılacak değer * @return int $_foo ile $ arasındaki fark subtract_me */ public function subtract_from_foo($subtract_me=0) ( return $this->_foo -= $subtract_me; ) )

İlk bakışta, bu iç karartıcı görünebilir, ancak faydaları, bu sözdizimine aşina olmak için zaman ayırmaya değer.

Yukarıdaki Docblock, Netbeans'te kullanıldığında bize aşağıdaki gibi kod ipuçları verecektir:


8. Bir IDE istemeyecek kadar sert bir kodlayıcı olmayın

Henüz bilmiyorsanız, o zaman şu inanç vardır: gerçek programcılar gibi düşünen sabit kodlayıcılar IDE kullanmaz.

Bak şimdi, insanları etkilemek istiyorsan hokkabazlık yapmayı öğrensen iyi olur.

Emacs dışında bir şey kullanmayı reddetmek Komut satırı senaryo yazmak kızların peşini bırakmaz ya da anında kötü niyetli bir hacker olarak etiketlenirsiniz, ancak iş arkadaşlarınızın alnınıza "garip bir adam" olduğunuza dair bir uyarı koyması için bir bahane olacaktır. ".

"Garip adam" olmayın.

"Size anında sözdizimi vurgulama, hata denetimi ve kod ipuçları veren yazılımları kullanmanın yanlış bir tarafı yok."

Bir IDE'nin ne kadar güçlü kullanılacağı tamamen size bağlıdır. Şahsen, Netbeans'i gerçekten seviyorum. Mac için Coda için tonlarca övgü duydum (gerçekten bir IDE olmasa da) ve Eclipse'i kendim kullanırdım (Netbeans'e geçmeden önce).

Hangi IDE'yi kullanırsanız kullanın, hız artışı ve küçük hatalarda azalma göreceksiniz. Daha sonra, kod kitaplıklarınız büyüdüğünde, tüm uygulamalarınız için kod ipuçlarına sahip olacaksınız (çünkü Docblock kullanıyorsunuz, değil mi? Değil mi?!)

IDE'lerin havalı olmadığını düşünmeyin - "Weird Guy" size ne söylerse söylesin.


9. Tekrarlanan kodu işlevler halinde gruplandırın

Bir uygulama yazmaya ilk başladığınızda yukarıdan aşağıya kolayca çalışabilir ve gerekli kodu doğru yerlere ekleyebilirsiniz.

Ancak bunu yaptığınızda, kodun belirli bölümlerinin tekrar tekrar göründüğünü çok yakında fark edeceksiniz. Bu yaklaşım, söz konusu olduğunda bir mayın tarlası haline gelir. Bakım ve değişiklikler yapmak. Sonuçta, bu durumda, uygulamanın işlevselliğini değiştirmek için aynı türde kod parçalarının tüm oluşumlarını bulmak için her dosyaya ve gelenlere bakmanız gerekir.

Eylemin en az iki kez bile tekrarlandığını görürseniz, bu kodu bir işleve taşıma sorusuyla ciddi şekilde kafanız karışmış olmalıdır.

Aşağıdaki örneği göz önünde bulundurun:

$unclean1 = "Bana Tıkla!"; $detagged1 = strip_tags($temiz olmayan1); $deslashed1 = stripslashes($detagged1); $clean1 = htmlentities($kesik çizgili1, ENT_QUOTES, "UTF-8"); $unclean2 = "Bjorn'u arayalım!"; $detagged2 = strip_tags($unclean2); $deslashed2 = stripslashes($detagged2); $clean2 = htmlentities($deslashed2, ENT_QUOTES, "UTF-8"); echo $clean1 "
", $temiz2;

Gördüğünüz gibi, her iki dizenin de güvenli kabul edilmeleri için biraz işlenmesi gerekiyor. Bunu yaparken de aynı fonksiyonların her iki seferde de işlem yapmak için kullanıldığını görüyorsunuz.

Bu, bir işlevi kullanırken çok daha fazla arzu edilen durumdur:

$unclean1 = "Bana Tıkla!"; $unclean2 = "Bjorn'u arayalım!"; $clean1 = sanitize_input($unclean1); $clean2 = sanitize_input($unclean2); echo $clean1, "
", $clean2; function sanitize_input($input) ( $detagged = strip_tags($input); $deslashed = stripslashes($detagged); htmlentities($deslashed, ENT_QUOTES, "UTF-8"); )

Bir işleve tekrarlayan kod yerleştirdikten sonra, girdiyi temizlemek için attığınız adımları gezinmek ve düzenlemek çok daha kolaydır.


10. Benzer işlevleri sınıflara ayırın

OOP (nesne yönelimli programlama) ile aşinalık, "mümkün olduğunca erken öğren" olarak kategorize edilebilecek başka bir noktadır.

"Örneğin bir veritabanıyla çalışan bir dizi işleviniz varsa, bunları sınıflara ayırarak çok zaman ve emekten tasarruf edebilirsiniz."

Öğrenmek kesinlikle bu makalenin kapsamı dışındadır, ancak yeni başlayanlar için bu listenin bir parçası olarak bahsetmenin önemli olduğunu düşünüyorum.


11. Genel değişkenleri değil, sabitleri kullanın.

Büyük projeler geliştirmeye ilk başladığımda kendimi global değişkenleri gereğinden fazla sıklıkta kullanırken buldum. Bu sorunu tanımak, onu çözmenin ilk adımıdır.

Değişmez verileri (site adı ve maksimum görüntü genişliği gibi) ve veritabanına bağlanmak için kimlik bilgilerini değişkenlerde sakladım, bu da bir dizi kullanmak zorunda kalmama neden oldu $KÜRESEL gerekli bilgilere ulaşmak için.

Sonra PHP'nin işlevi kullanarak sabitleri tanımlamanıza izin verdiğini fark ettim. tanımlamak().

Sabit, bir uygulama süresince değişmeyen bilgileri depolamanın harika bir yoludur. Ek bir avantaj, sabitlerin değiştirilememesidir, bu nedenle komut dosyası çalışırken yanlışlıkla veritabanı parolasının üzerine yazamazsınız.

İyi uygulama açısından, genel değişkenlerin yaygın kullanımı işin ilk aşamalarında teşvik edilmez, bu nedenle sabitlerin kullanımıyla başlamak her zaman daha iyidir. Her şeyi kendiniz değerlendirmek için bu koda bakın:

\n" . $küresel; ) ?>

12. Kapsar'ı kullanmaktan korkmayın

Neredeyse her zaman, büyük projeler oluşturduğunuzda, bunları içerme dosyalarını kullanarak daha küçük parçalara bölmek mantıklıdır.

Web geliştiricileri arasında tipik bir yaklaşım, birçok komut dosyasında kullanılan tamamlanmış her bir kod parçasını ayrı bir içerme dosyasına koymaktır (örneğin, genellikle tüm site için aynı olan veritabanı bağlantı verileri, altbilgi ve üstbilgi, çeşitli hizmet işlevleri, örneğin: gelen verileri kontrol etme işlevi, vb.).

Bu sayede aynı kod parçasını kopyalayıp yapıştırmak yerine gerekli kodu tek satırda doğru yerlere bağlayabilirsiniz.

Örneğin, çok sayıda sayfası olan bir sitede tipik bir şablon şöyle görünebilir:


13. Performans Konusunda Delirmeyin

Bu, bazı geliştiriciler için iyi olmayan ciddi bir engeldir. Etkili kod yazmak ile komut dosyası yürütme süresini 5 ms'ye düşürmeye çalışmakla zaman kaybetmek arasında çok ince bir çizgi vardır.

Birkaç iyi performans makalesi okumaya ve uygulamadan uygulamaya sürüklediğiniz büyük hatalar hakkında bilgi edinmeye kesinlikle değer, ancak çift tırnakları tek tırnaklara değiştirmek için kodunuzu dikkatli bir şekilde yeniden düzenlemek için çok fazla zaman harcamayın çünkü bunu öğrendiniz. biraz daha hızlı olacak.

"Büyük sorunlardan kaçınmak için kafanızı kullanın ve uygulama hızlandırma tekniklerini duyduğunuzda kulaklarınızı açık tutun, ancak bunu bir performans yarışı haline getirmeyin."

25 veya 40 ms'de bir sayfa yüklerken hiç kimse farkı fark edemez. 700ms olmadığından emin olun. ve daha önemli şeylerle geçin.


14. HTML'yi komut dosyalarınıza "evlendirmeyin".

Bu, sizden çok fazla ustalık gerektirebilir, ancak PHP kodunun her yerine işaretleme enjekte etmekten kaçının. PHP dosyalarından tamamen kaldırmak neredeyse imkansızdır, ancak kodunuza gerekli olmayan HTML işaretlemesini dahil etmekten kaçınmak için elinizden gelenin en iyisini yaptığınızdan emin olun.

Aşağıdaki örneği göz önünde bulundurun:

Eko"

İşte içerik geliyor.

";

Bir paragrafı bir etiketle sarmak gerçekten gerekli mi? div? Kodu, yalnızca metin içeriği için paragraf etiketleri içerecek şekilde değiştirmek mümkün müdür? Bir alternatife bakalım:

İşte içerik geliyor.

"; ?>

Not: Bu örnek büyük ölçüde basitleştirilmiştir. Ana fikir, PHP dosyasına gerekenden çok daha fazla işaretleme koymanın cazibesine direnmektir.

Çoğu durumda, HTML'yi PHP'den ayırabilirsiniz; bu, komut dosyalarınızın okunmasını ve bakımını kolaylaştıracaktır.


15. Her yeni projede en az bir yabancı konsept kullanmaya çalışın.

Aynı şeyleri yapmaya devam ederseniz asla yeni bir şey öğrenemezsiniz. Her yeni proje için en az bir tane kullanın yeni teknoloji, alışık olmadığınız yeni bir numara.

Bu aşırı hırslı olmakla ilgili değil - sadece kendinizi kasten konfor alanınızın dışına itmekle ilgili.

Sizin için bu, aynı eylemleri tekrar etmekten sıkılmanıza izin vermeyecek ve bir web geliştirici olarak gelişiminize katkı sağlayacak bir yarışma olacaktır.


16. Değişmekten gurur duymayın.

yanılmış olacaksın. Ve sık sık. Ama o kadar da kötü değil.

Büyüdükçe yenilerini buluyorsun en iyi çözüm Daha önce karşılaşılmış olan sorunlar. Aptal gibi hissetme: sürekli yeni şeyler öğreniyorsun.

Burada yazdığınız koda takılıp kalmamanız çok önemli. Sadece siz yazdınız diye kodunuzun daha iyi olduğunu düşünmeyin. Bir soruna harika bir çözüm bulursanız, kullanın! Başkalarının ne yaptığına ve kendi başınıza neleri geliştirebileceğinize dikkat edin.

"Asla profesyonel olmayan bir kararın kabul edilebilir olduğunu düşünmeyin çünkü bu sizindir. Bu kibirdir (genellikle iyi bir şeye yol açmaz).


17. Doğrula

Bir web programcısıysanız, giriş doğrulamasını mümkün olduğunca erken öğrenmeye başlayın.

Unutma: Doğrulama, sanitasyonla aynı şey değildir.

"Gelen verilerin doğrulanması, girilen değerin geçerli bir e-posta adresi olup olmadığının veya oturum açma alanının 8 ila 20 Latin karakter veya sayı içerip içermediğinin kontrol edilmesi gibi, bu verilerin belirli bir biçime karşılık geldiğinin kontrolüdür."

Bu sıkıcı ve yanıltıcı olabilir, ancak daha sonraki işlemler için komut dosyasına yalnızca doğru formattaki verilerin beslendiğinden emin olursanız, site ziyaretçileriniz için "hizmet kalitesini" büyük ölçüde artıracak ve komut dosyalarınızda birçok hatadan kaçınacaksınız. bu verileri kullananlar.


18. Yasak olmayana izin verilir mi?

Çoğu durumda, belirli karakterlerden, metin parçalarından, etiketlerden vb. kurtulmanız gerekir.

Tipik bir çözüm, sözde bir "kara liste" oluşturmaktır: yasaklanmış etiketler, semboller vb.

"Kara listenizi sürekli olarak yenilemezseniz ve izlemezseniz, bu güvenlik açıklarıyla doludur."

Ancak bu ek zorluklar yaratır. "Yasadışı" bir şey yapmak isteyenlerden daha akıllı olmalısın. Örneğin, yorumlarda JavaScript'i devre dışı bırakmak için OnClick olayının ve benzerlerinin kullanımını devre dışı bırakabilirsiniz, ancak ya bir şeyi kaçırırsanız? Spesifikasyona gelecekte bazı yeni olaylar eklenirse ne olur?

Kara listenizi sürekli yenilemez ve izlemezseniz, bu güvenlik açıklarıyla doludur.

Bu nedenle, gelecekte kendinizi baş ağrısından kurtarmak için mümkünse beyaz listeyi kullanın. Beyaz liste, "kara listenin" tersidir: kullanılmasına izin verilen ayak parmakları, semboller vb. koleksiyonu.

Örneğin, fonksiyonda strip_tags(), dizelerde hangi etiketlere izin verildiğini açıkça belirtebilirsiniz:

Strip_tags($string, " ");

Şimdi sorununuz büyük ihtimalle istediğinizden daha azını yapmış olmanız olacaktır :) Ancak bu yaklaşım çok daha güvenlidir ve gelecekte daha az tatsız durumlara yol açacaktır.

Tabii ki, bu yaklaşımı her yerde kullanmak mümkün değil, ancak izin verilmeyenler yerine izin verilenleri belirterek, daha fazla iç rahatlığı ve komut dosyalarınız üzerinde daha fazla kontrol elde edersiniz.


20 yol mu arıyorsunuz? PHP'de neredeyse her zaman ve her yerde geri sayımın sıfırdan başladığını unutmayın, yani bu 20. yol. Hemen hemen tüm dillerde durumun böyle olduğunu fark edeceksiniz, bu yüzden aldanmayın!


Özetleme

Yeni başlayan biriyseniz, yukarıda tartışılan ipuçları, işletmenizde iyi uygulamaları uygulamaya yönelik önemli ilerlemeler kaydetmenize yardımcı olacaktır.

Burada yazılanların hepsi sizin için yeniyse paniğe kapılmayın: her seferinde bir adım atın (bkz. paragraf 15).

Merhaba!
PHP kategorisinde, temel bilgilerin gücünü ve gücünü bilmenizi sağlayacak yeni başlayanlar için bir eğitim oluşturmak istiyorum. PHP programlama dili. İlgileniyorsanız, derslerime katılın.
Söz veriyorum, karmaşık dersler ve anlamsız teorilerle yüklenmeyeceksiniz! Sadece pratik yapın ve her şeyi örneklerle yapın.
Yani ilk ders tanıtım olacak.

Düşüneceğiz:
○ PHP nedir ve neden gereklidir?
○ PHP'nin kullanıldığı yerler

○ PHP nasıl uygulanır
○ PHP öğrenmek için hangi araçlara ihtiyacınız var?

PHP nedir ve ne içindir?
PHP (H ypertext Önişlemcisi - Köprü Metni Ön İşlemcisi) bir programlama dilidir. Özellikle web uygulamaları oluşturmak için tasarlanmış en kolay programlama dillerinden biridir. PHP kolayca gömülür.

PHP ile çok şey yapabilirsiniz, örneğin sitenin güvenliğini sağlayın, site için bir yönetici paneli oluşturun, formları sipariş edin ve geri bildirim, forum, virüsler vb.

PHP'ye nasıl başvurulur?
PHP'nin çalışması için dosyanın uzantısı "*.php" olmalıdır.

PHP dosyası barındırılmalı veya yerel bir sunucuda olmalıdır.
Dosyanın kendisinde PHP kodu şu şekilde belirtilmiştir. standart bir şekilde:

?> – PHP kodu için blok kapatma

Tüm komutlar ve kurallar bloğun içine yazılır.
Bir örneğe bakın:

PHP öğrenmek için hangi araçlara ihtiyacınız var?

PHP öğrenmek için ihtiyacınız olacak:

  1. Standart Windows not defteri (Başlat => Tüm Programlar => Donatılar => Not Defteri) veya ücretsiz editör Notepad++'ı indirin
  2. İndir ve yükle bilgisayardaki yerel sunucu

Üst