Sözdiziminin temelleri. PHP Temelleri Temel php sözdizimi kurallarını öğrenme

Laboratuvar 1: PHP'ye Giriş

İlk PHP programı

Bir örneğe bakalım.

Örnek Merhaba ben bir PHP betiğiyim!

"; ?>

Örnek 1. Gömülü PHP kodu içeren basit html dosyası

Bu, PHP'de yazılan kodun özel etiketler kullanılarak gömülü olduğu basit bir HTML dosyasıdır.

PHP, C ve Perl'e benzer. Ancak burada gösterilen program, C ve Perl dillerindeki benzer programlardan çok farklıdır. Burada HTML çıktısı almak için bir sürü özel komut yazmaya gerek yoktur. Kod, herhangi bir eylemi gerçekleştiren PHP kodunu yerleştirebileceğiniz doğrudan HTML'de yazılır (örneğin, örneğimizde olduğu gibi ekranda metin görüntüler). PHP'nin C ve Perl'e kıyasla dezavantajı, geliştiricilerin tüm çabalarına rağmen hala karmaşık komut dosyalarının yürütme hızının olmamasıdır.

PHP betikleri, sunucu tarafından yürütülen ve işlenen programlardır. Bu yüzden JavaScript gibi betik dilleriyle karşılaştırmak imkansızdır, çünkü içlerinde yazılan betikler müşterinin makinesinde yürütülür. Sunucuda ve istemcide yürütülen komut dosyaları arasındaki fark nedir? Komut dosyası sunucu tarafından işleniyorsa, istemciye yalnızca komut dosyasının sonuçları gönderilir. Örneğin, sunucuda yukarıdaki gibi bir komut dosyası yürütüldüyse, istemci aşağıdaki gibi oluşturulmuş bir HTML sayfası alır:

Örnek

Merhaba ben bir PHP betiğiyim!

Bu durumda, istemci hangi kodun yürütülmekte olduğunu bilmez. Sunucunuzu, HTML dosyalarının PHP işlemcisi tarafından işleneceği şekilde bile yapılandırabilirsiniz, böylece istemciler normal bir HTML dosyası mı yoksa bir komut dosyasının sonucu mu aldıklarını bile bilmezler. Komut dosyası istemci tarafından işleniyorsa (örneğin, bir JavaScript programıysa), istemci komut dosyası kodunu içeren bir sayfa alır.

PHP betiklerinin HTML koduna gömülü olduğunu yukarıda belirtmiştik. Soru ortaya çıkıyor, nasıl? Birkaç yol var. Bunlardan biri ilk örnekte gösteriliyor - açılış etiketi kullanılarak... Bu türden özel etiketler, HTML ve PHP modları arasında geçiş yapmanızı sağlar. Bu sözdizimi, PHP'nin XML uyumlu programlarda (örneğin, XHTML'de yazılmış) kullanılmasına izin verdiği için tercih edilir.

PHP bir dosyayı işlerken, metni PHP kodu olarak yorumlamaya başlamasını söyleyen, listelenen özel etiketlerden biriyle karşılaşana kadar basitçe iletir. Ardından, bulduğu tüm kodu, yorumlayıcıya tekrar sadece metin olduğunu söyleyen kapanış etiketine kadar yürütür. Bu mekanizma, PHP kodunu HTML'ye enjekte etmenize izin verir - dışarıdaki her şey PHP etiketleri değişmeden kalır, oysa dahili olarak kod olarak yorumlanır. Ayrıca php dosyasının bir CGI betiği gibi görünmediğine de dikkat edin. php dosyası yürütülebilir olmamalı veya başka bir şekilde işaretlenmemelidir.


Sunucuya işlenmek üzere bir php dosyası göndermek için, tarayıcı satırına sunucuda bu dosyanın yolunu yazmanız gerekir. Php betikleri, www üzerinden erişime izin verilen yerlerde, örneğin ana sayfanın bulunduğu yerde bulunmalıdır. Eğer php dosyası yerel makinede bulunur, komut satırı yorumlayıcısı kullanılarak işlenebilir.

Örnek olarak, bir e-posta şablonu oluşturma sorununu çözelim. Anlamı aşağıdaki gibidir.

Diyelim ki bir tür reklamınız ve bu reklamı göndermesi gereken birkaç farklı kişi var. Bunu yapmak için, içinde bir dizi değişen (potansiyel alıcıya bağlı olarak) parametrenin bulunduğu reklamın içeriğiyle bir şablon yaparsınız.

Bölme talimatları

Bir PHP programı (veya başka bir programlama dili) bir dizi komuttur (talimatlar). Program işleyicisinin (ayrıştırıcı) bir komutu diğerinden bir şekilde ayırt etmesi gerekir. Bunun için kullanılır Özel semboller- ayırıcılar. PHP'de talimatlar, C veya Perl'dekiyle aynı şekilde ayrılır - her ifade noktalı virgülle biter.

Kapanış etiketi "?>" Ayrıca ifadenin sonunu da belirtir, bu nedenle ondan önce noktalı virgül kullanılmaz. Örneğin, aşağıdaki kod parçacıkları eşdeğerdir:

Son güncelleme: 1.11.2015

İlk PHP programını oluştururken, PHP komut dosyası oluşturmanın bazı temel ilkelerine zaten değinilmiştir. Şimdi onlara daha yakından bakalım.

Bir PHP programı veya komut dosyası, kural olarak, uzantılı bir dosyada bulunur. .php... Geliştiriciler de gömebilse de php kodu ve uzantılı dosyalara .html / .htm.

Kullanıcı komut dosyasına eriştiğinde adres çubuğuörneğin yazarak tarayıcı http: // localhost: 8080 / display.php sonra web sunucusu onu PHP yorumlayıcısına iletir. Yorumlayıcı daha sonra kodu işler ve buna dayalı olarak html işaretlemesi oluşturur. Ardından oluşturulan html kodu kullanıcıya gönderilir.

Bir PHP belgesi hem html işaretlemesini hem de php kodunu içerebilir. Etiketler, html işaretlemesinden php koduna gitmek için kullanılırhangi php kodu gider. Bu etiketler, yorumlayıcıya içeriklerinin html işaretlemesi olarak değil php kodu olarak yorumlanması gerektiğinin bir göstergesi olarak hizmet eder.

Etiketlerin kısa bir sürümünü de kullanabilirsiniz:... Bunu yapmak için dosyada php.ini short_open_tag = Off değerini short_open_tag = On olarak değiştirmeniz gerekir

En basit php betiğini düşünelim:

İnternet sitesi Selam Dünya!

"; yankı" 2 + 2 = ". (2 + 2);?>

Dosyayı işledikten sonra yorumlayıcı aşağıdaki işaretlemeyi üretecektir:

İnternet sitesi

Selam Dünya!

2 + 2 = 4

Burada kullanılan iki yankı talimatı var "

Selam Dünya!

"and echo" 2 + 2 = ". (2 + 2), sayfaya belirli bir değer verir. PHP'deki her bir ifade noktalı virgülle biter.

PHP'nin sözdizimi doğrudan C. Java'dan ödünç alır ve Perl de bu dilin sözdizimini etkilemiştir.

HTML'den taşıma

HTML'den çıkmanın ve "PHP kod modu"na girmenin üç yolu vardır:

Bölme talimatları

Komutlar (ifadeler) C veya Perl - noktalı virgül gibi ayrılır.

Kapanış etiketi (?>) Ayrıca ifadenin sonunu da belirtir, dolayısıyla aşağıdaki girişler eşdeğerdir:

Değişken türleri

PHP aşağıdaki değişken türlerini destekler:

  • tamsayı - tamsayı
  • double - kesirli kısmı olan bir sayı
  • dize - dize değişkeni
  • dizi - bir dizi
  • nesne - bir nesne değişkeni
  • pdfdoc - PDF belgesi (yalnızca PDF desteği ile)
  • pdfinfo - PDF bilgisi (yalnızca PDF desteği ile)

Bir değişkenin türü genellikle programcı tarafından belirlenmez; bunun yerine, değişkenin kullanıldığı bağlama bağlı olarak çalışma zamanında PHP tarafından belirlenir.

Bir değişkenin türünü doğrudan belirtmek isterseniz, bunu yapmak için bir ifade veya işlev kullanabilirsiniz.

Bir değişkenin, belirli bir zamanda kendisi için hangi türün tanımlandığına bağlı olarak belirli durumlarda farklı davranabileceğini unutmayın. Bu, bölümde daha ayrıntılı olarak açıklanmaktadır.

Değişken başlatma

PHP'de bir değişkeni başlatmak için, ona bir değer atamanız yeterlidir. Çoğu değişken için durum tam olarak budur; diziler ve nesne değişkenleri için ise biraz farklı bir mekanizma kullanılabilir.

Dizileri Başlatma

Bir dizi iki yoldan biriyle başlatılabilir: değerlerin sıralı atanmasıyla veya bir yapı aracılığıyla (bu bölümde açıklanmıştır).

Bir diziye sırayla değerler eklediğinizde, boş bir indeks kullanarak dizi elemanlarının değerlerini yazmanız yeterlidir. Sonraki her değer, dizinin son öğesi olarak eklenecektir.

$ isimler = "Jill"; // $ isimler = "Jill" $ isimler = "Jack"; // $ isimler = "Jack"

C ve Perl'de olduğu gibi, dizi öğeleri 1'den değil 0'dan başlayarak numaralandırılır.

Nesne başlatma

Bir nesne değişkenini başlatmak için, verilen nesneyi bir nesne değişkenine eşlemek için yeni reçeteyi kullanın.

foo sınıfı (fonksiyon do_foo () (echo "Foo yapıyor.";)) ​​​​$ Bar = yeni foo; $ bar -> do_foo();

Değişken Kapsam

Bir değişkenin kapsamı, içinde tanımlandığı bağlamdır. Çoğunlukla, tüm PHP değişkenleri aynı kapsama sahiptir. Ancak, kullanıcı tanımlı işlevler içinde işlevin yerel kapsamı temsil edilir. Bir fonksiyon içinde tanımlanan herhangi bir değişken, varsayılan olarak fonksiyonun yerel kapsamı ile sınırlıdır. Örneğin:

$ a = 1; / * global kapsam * / Fonksiyon Testi () (echo $ a; / * yerel kapsam değişkenine referans * /) Test ();

Bu komut dosyası, echo ifadesi bu kapsamda atanmayan $ a'nın yerel sürümüne atıfta bulunduğundan hiçbir çıktı vermeyecektir. Yerel tanımlar tarafından üzerlerine yazılmadığı sürece, C'deki global değişkenlerin fonksiyonlar içinde de otomatik olarak uygulanmasında C dilinden küçük bir fark olduğunu fark edebilirsiniz. Bu bazı sorunlara neden olabilir. yanlışlıkla, global değişkeni değiştirebilirsiniz. PHP'de, belirli bir işlevde kullanılması amaçlanıyorsa, global değişkenler bir işlev içinde global olarak bildirilmelidir. Örneğin:

$ a = 1; $b = 2; Fonksiyon Toplamı () (küresel $ a, $ b; $ b = $ a + $ b;) Toplam (); yankı $b;

Yukarıdaki komut dosyası "3" değerini döndürür. $ a ve $ b fonksiyon içinde global olarak bildirildiğinden, bu değişkenlere yapılan referanslar, onların global versiyonlarına yapılan referanslar olarak değerlendirilir. Bir fonksiyon içinde manipüle edilebilecek global değişkenlerin sayısında bir sınır yoktur.

Global kapsamdan değişkenlere erişmenin ikinci yolu, özel tanımlanabilir bir tanım kullanmaktır. php dizisi$ KÜRESEL. Bu durumda, önceki örnek şu şekilde yazılabilir:

$ a = 1; $b = 2; Fonksiyon Toplamı () ($ GLOBALS ["b"] = $ GLOBALS ["a"] + $ GLOBALS ["b"];) Toplam (); yankı $b;

$ GLOBALS dizisi, global değişkenin adının anahtar olduğu ve bu değişkenin değerinin dizi öğesinin değeri olduğu bir ilişkisel dizidir.

Bir değişkenin kapsamından bir diğer önemli özellik, statik değişken. Statik bir değişken yalnızca işlevin yerel kapsamında bulunur, ancak program yürütme sırasında bu kapsamdan çıktığında değerini kaybetmez. Aşağıdaki örneği göz önünde bulundurun:

Fonksiyon Testi () ($ a = 0; echo $ a; $ a ++;)

Bu işlev pratikte tamamen işe yaramaz çünkü $ a'yı 0'a ayarlar ve her çağrıldığında "0" verir. Bir değişkenin değerini artıran bir $ a ++ ifadesi de işe yaramaz, çünkü işlev çıktığında $ a değişkeni kaybolur. Cari hesabın iş parçacığını kaybetmeyecek olan sayma fonksiyonunu işler hale getirmek için $ a değişkeni statik olarak bildirilir:

İşlev Testi () (statik $ a = 0; yankı $ a; $ a ++;)

Şimdi, Test() işlevi her çağrıldığında, $ a değerini yazdıracak ve artıracaktır.

Fonksiyonlar özyinelemeli olarak çağrıldığında statik değişkenler de oldukça önemlidir. Özyinelemeli işlevler kendilerini çağıran işlevlerdir. Özyinelemeli bir işlevi dikkatli bir şekilde oluşturmanız gerekir, çünkü yanlış yazılmışsa, özyinelemeyi tanımsız yapabilirsiniz. Özyinelemeyi sonlandırmak için yeterli bir yol olduğundan emin olmalısınız. Aşağıdaki basit işlev, yinelemeli olarak 10'a kadar sayar:

İşlev Testi () (statik $ sayım = 0; $ sayım ++; yankı $ sayım; if ($ sayım)< 10) { Test (); } $count--; }

Değişkenler değiştirilebilir

Bazen değişkenlere değiştirilebilir isimler vermek uygundur. Bu tür isimler dinamik olarak değiştirilebilir. Ortak bir değişken şöyle ayarlanır:

Değişen değişken bir değer alır ve ona bir değişken adı gibi davranır. Yukarıdaki örnekte, değer Merhaba ardışık iki dolar işareti kullanılarak değişken adı olarak kullanılabilir, yani .:

Bu bakış açısından, PHP sembol ağacında iki değişken tanımlanır ve saklanır: "hello" içerikli $ a ve "world" içerikli $ merhaba. Yani, talimat:

Yankı "$ a $ ($ a)";

talimatla aynı şeyi yapar:

Yankı "$ a $ merhaba";

yani, ikisi de çıktı: Selam Dünya.

Değişken değişkenleri dizilerle kullanmak için belirsizlik sorununu çözmeniz gerekir. Bu, $$ a yazarsanız, ayrıştırıcının $ a'yı değişken olarak mı kullanmak istediğinizi veya $$ a'yı değişken ve o değişkenin indeksi olarak kabul edip etmediğinizi bilmesi gerektiği anlamına gelir. Bu belirsizliği çözmek için sözdizimi, ilk durum için $ ($ a) ve ikinci durum için $ ($ a) şeklindedir.

PHP dışındaki değişkenler

HTML Formları (GET ve POST)

Form işlemcisi bir PHP betiği olduğunda, bu formun değişkenleri verilen komut için otomatik olarak kullanılabilir durumdadır. PHP betiği... Örneğin, aşağıdaki formu göz önünde bulundurun:

Örnek 5-2. Basit form değişkeni

İsim:

Etkinleştirildiğinde PHP formları değeri alana girilen içerik olacak bir $ adı değişkeni yaratacaktır. İsim: bu form.

PHP ayrıca form değişkenleri bağlamındaki dizileri de kabul eder, ancak yalnızca tek boyutludur. Örneğin ilgili değişkenleri birlikte gruplayabilir veya çoktan seçmeli girişlerdeki değişkenlerin değerlerini belirlemek için bu özelliği kullanabilirsiniz:

track_vars PHP özelliği, yapılandırma ayarı veya yönergesi aracılığıyla etkinleştirilirse, ardından POST veya GET yöntemleri aracılığıyla etkinleştirilen değişkenler ayrıca sırasıyla $ HTTP_POST_VARS ve $ HTTP_GET_VARS global ilişkisel dizilerinde olacaktır.

AKTİVASYON ŞEKLİ değişken isimleri

Bir formu etkinleştirirken (başlatırken), aşağıdaki gibi bir etikette standart başlatma düğmesi yerine bir resim (resim) kullanabilirsiniz:

Kullanıcı böyle bir görüntünün üzerinde herhangi bir yere fareyi tıkladığında, eşlik eden form, sub_x ve sub_y olmak üzere iki ek değişkenle sunucuya gönderilir. Verilen şekil içinde kullanıcının fare düğmesini tıkladığı yerin koordinatlarını içerirler. Pratikte, tarayıcı tarafından iletilen gerçek değişken adlarının alt çizgi yerine nokta içerdiği, ancak PHP'nin noktayı otomatik olarak alt çizgi öğesine dönüştürdüğü not edilebilir.

HTTP Çerezleri

PHP açıkça tanımlandığı gibi HTTP çerezlerini destekler. Çerezler, bir kullanıcının yanıtının değişimini veya tanımlanmasını desteklemek için kullanılan uzak bir tarayıcıda veri depolamak için bir mekanizmadır. Tanımlama bilgileri, işlev kullanılarak ayarlanabilir . Çerezler, HTTP başlığının bir parçasıdır, bu nedenle, aktarılan herhangi bir veri tarayıcıya gönderilmeden önce işlev çağrılmalıdır. Bu, işlevle aynı sınırlamadır. . İstemci tarafından size gönderilen tüm çerezler, GET ve POST yöntemlerinden gelen verilerin yanı sıra otomatik olarak PHP değişkenlerine dönüştürülür.

Tek bir çereze birden fazla değer atamanız gerekiyorsa, çerez adına köşeli parantez eklemeniz yeterlidir. Örneğin:

SetCookie ("MyCookie", "Test", zaman () + 3600);

Lütfen, yol veya etki alanı farklı olmadıkça, mevcut çerezin tarayıcınızda aynı ada sahip önceki çerezin yerini alacağını unutmayın. Bu nedenle, kart bakım programlarıyla çalışırken, verileri kaydetmek ve değerlerini daha fazla göndermek vb. için bir sayaç kullanabilirsiniz.

Örnek 5-4. SetCookie Fonksiyon Örneği

$ Sayı ++; SetCookie ("Sayma", $ Sayım, zaman () + 3600); SetCookie ("Sepet [$ Sayım]", $ öğe, zaman () + 3600);

Ortam Değişkenleri

PHP, normal değişkenler gibi ortam değişkenlerini otomatik olarak oluşturur.

Yankı $ HOME; / * Gösteriler Çevre değişkeni HOME takılıysa. * /

GET, POST ve Cookie mekanizmaları da bilgi geldiğinde otomatik olarak PHP değişkenleri oluştursa da, alındığından emin olmak için bazen ortam değişkenini açıkça okumak daha iyidir. doğru versiyonu... Bunun için fonksiyon kullanılabilir . Bir ortam değişkeninin değerini ayarlamak için işlevi kullanın .

Sunucu yapılandırma yönergeleri

Tip değişikliği

PHP, bir değişken bildirirken açık bir tür tanımı gerektirmez; bir değişkenin türü, kullanıldığı bağlam tarafından belirlenir. Yani, bir değişkene bir dize değeri atarsanız var , var bir dize olur. Daha sonra değişkene atarsanız var bir tamsayının (sayı) değeri, o zaman bir tamsayı olur.

PHP'deki otomatik tür dönüştürmeye bir örnek, "+" ekleme operatörüdür. İşlenenlerden herhangi biri kesirli kısmı olan bir sayıysa (double tipi), tüm işlenenler double olarak değerlendirilir ve sonuç double türünde olur. Aksi takdirde, bu işlenenler tamsayı olarak yorumlanacak ve sonuç da tamsayı türünde olacaktır. Bunun işlenenlerin türlerini DEĞİŞTİRMEYECEĞİNİ, yalnızca bu işlenenlerin değerlendirilmesinin değiştiğini unutmayın.

$foo = "0"; // $ foo bir dizgedir (ASCII 48) $ foo ++; // $ foo "1" dizgesidir (ASCII 49) $ foo + = 1; // $ foo artık bir tamsayıdır (2) $ foo = $ foo + 1.3; // $ foo artık double (3.3) $ foo = 5 + "10 Küçük Domuzcuk"; // $ foo tamsayıdır (15) $ foo = 5 + "10 Küçük Domuz"; // $ foo tamsayıdır (15)

Bir değişkenin belirli bir türü değerlendirmeye zorlanmasını istiyorsanız, bölüme bakın. Bir değişkenin türünü değiştirmek isterseniz, bkz.

PHP Temelleri, PHP öğreticisinin ikinci dersidir. Bu derste PHP dilbilgisine daha yakından bakacağız: talimatları nasıl ayıracağımızı ve yorum oluşturacağımızı öğreneceğiz.

Herhangi bir programlama dilini öğrenirken yapılacak ilk şey, şimdi yapacağımız dilbilgisini anlamaktır.

PHP Temelleri: Talimat Ayırma.

Herhangi bir programlama dilinde bir program, belirli algoritmalara göre (doğrusal, döngüsel, vb.) Ve PHP bu bakış açısından bir istisna değildir.

Bir komutu diğerinden ayırmak için özel karakterler - ayırıcılar kullanmalısınız. PHP'de bu rol “; ".

Ayırıcı sembolü her komutun sonunda olmalıdır, bazı istisnalardan sonra, örneğin programın sonunda,?> Sembolünden önce, “; "

Yukarıdaki örneğe yakından bakın. İçinde, aynı operatöre aynı koşullar altında iki çağrı “; "Ve olmadan"; “, Ancak buna rağmen program bir hata mesajı göstermiyor. Bunun nedeni programdaki tek operatörün kullanılmasıdır ve daha önce de söylediğimiz gibi?>, ayırma karakterini atlayabilirsiniz.

PHP'de yorumları kullanma.

Herhangi bir programlama dili, yorum bırakma özelliğini destekler (HTML, CSS, JavaScript, C ++, vb.). Bence yorumları kullanma ihtiyacından bahsetmeye değmez. bu, bu sitedeki diğer eğitimlerde birçok kez tartışıldı.

Diğer dillerde olduğu gibi, PHP hem tek satırlı hem de çok satırlı yorumları destekler. Tek satırlık bir yorum oluşturmak için // sembollerini kullanın:

// Bu tek satırlık bir yorumdur
// Ve bu onun devamı

Çok satırlı bir yorum oluşturmak için / * ... * / kapsayıcısını kullanın:

/ * Bu çok satırlı bir yorumdur,
kendi içine sığabilir
kesinlikle herhangi bir sayıda satır * /

Bu derste, başlangıç ​​seviyesinde PHP'nin temellerini öğrendik ve nasıl yorum oluşturulacağını öğrendik. Ancak bu sadece başlangıç, önümüzde hala gelecekteki sitenizin tüm potansiyelini ortaya çıkarmaya yardımcı olacak birçok ilginç şey var.

Bir sonraki derste, PHP'de kullanılan ana veri türleri hakkında konuşacağız ve her birine mümkün olduğunca ayrıntılı bir şekilde odaklanacağız.

Etiketler PHP

PHP dosyayı işlerken, aşağıdaki gibi açılış ve kapanış etiketleri arar. bu, PHP'ye aradaki kodu ne zaman başlatacağını ve durduracağını söyler. Bu işleme yöntemi, bir çift açılış ve kapanış etiketinin dışındaki her şey göz ardı edileceğinden, PHP'nin her türlü farklı belgeye gömülmesine izin verir.

PHP ayrıştırıcı.

PHP ayrıca kısa etiketlere izin verir ancak, yalnızca php.ini yapılandırma yönergesi kullanılarak etkinleştirildiklerinde kullanılabildiklerinden, bunların kullanılması istenmeyen bir durumdur. short_open_tag veya PHP seçeneği ile yapılandırılmışsa --enable-short-tags .

Dosya yalnızca PHP kodu içeriyorsa, dosyanın sonundaki kapanış etiketinin atlanması tercih edilir. Bu, PHP bitiş etiketinden sonra istenmeyen etkilere neden olabilecek rastgele boşlukların veya yeni satırların eklenmesini önler, çünkü programcı komut dosyasında o noktada herhangi bir veriyi boşaltmak niyetinde değilse PHP ara belleğe veri boşaltmaya başlar.

HTML'den ayırma

Bir çift açılış ve kapanış etiketinin dışındaki her şey

karışık içerik dosyalarını işleme yeteneğine sahip PHP yorumlayıcısı tarafından yok sayılır. Bu, örneğin şablonlar oluşturmak için PHP kodunun HTML belgelerine gömülmesine izin verir.

o PHP tarafından yok sayılacak ve tarayıcı tarafından görüntülenecektir.

Bu aynı zamanda PHP tarafından göz ardı edilecek ve tarayıcı tarafından görüntülenecektir.

Bu beklendiği gibi çalışır, çünkü PHP yorumlayıcısı kapanış etiketleriyle karşılaştığında?>, kodda yorumlayıcının sonucu belirlediği koşullu bir ifade dışında, başka bir açılış etiketiyle karşılaşana kadar ne bulursa yazdırmaya başlar. atlanacak kararları kabul etmeden önce koşul.

Koşullu Yapıları Kullanma

İfade doğruysa bu görüntülenecektir.Aksi takdirde görüntülenecektir.

Örnek # 1 Gelişmiş İzolasyon Kullanım Koşulları

Bu örnekte PHP, koşulun karşılanmadığı blokları atlıyor. Açık/kapalı etiket çiftinin dışında olsalar bile, PHP yorumlayıcısı karşılanmayan koşul içinde bulunan blokların üzerinden atlayacağından, koşula göre PHP bunları atlayacaktır.

Büyük metin bloklarının çıktısını alırken, PHP ayrıştırma modundan çıkmak genellikle metni işlevleri kullanarak göndermekten daha etkilidir. Eko veya Yazdır.

PHP kodunu belirtmek için kullanılabilecek dört etiket grubu vardır. Bunlardan sadece ikisi ve ) her zaman mevcuttur. Diğer ikisi, yapılandırma dosyasında açılıp kapatılabilen kısa etiketler ve ASP tarzı etiketlerdir. php.ini. Kısa ve ASP tarzı etiketler kullanışlı olsa da, uzun sürümler kadar taşınabilir değildirler ve bu nedenle tavsiye edilmezler. Ayrıca, XML standartlarına uymak için PHP kodunu XML veya XHTML içine gömmek istiyorsanız, formu kullanmalısınız. .

1. 2. 3. " kelimesinin eş anlamlısıdır." 4. <% echo "Вы можете по выбору использовать теги в стиле ASP"; %> <%= $variable; # Это синоним для "<% echo . . ." %>

Kısa etiketler (üçüncü örnek) yalnızca yönergeye dahil edildiklerinde kullanılabilir short_open_tag yapılandırma dosyasında php.ini veya PHP seçeneğiyle derlenmişse --enable-short-tags.

ASP stil etiketleri (dördüncü örnek) yalnızca yönerge kullanılarak etkinleştirildiğinde kullanılabilir asp_tags yapılandırma dosyasında php.ini.

Yorum Yap:

Hedef sunucuda kısa etiketler desteklenmeyebileceğinden, kontrolünüz dışında PHP sunucularında dağıtılması veya barındırılması amaçlanan uygulamalar veya kitaplıklar geliştirirken kısa etiketler kullanmaktan kaçınmalısınız. Taşınabilir, uyumlu kod oluşturmak için kısa etiketler kullanmayın.

Bölme talimatları

C veya Perl'de olduğu gibi PHP, her ifadenin sonunda noktalı virgülle bitecek talimatlar gerektirir. Bir PHP kod bloğunun kapanış etiketi otomatik olarak bir noktalı virgül uygular; onlar. sonuna noktalı virgül koymaya gerek yok son satır PHP kodu ile bloklayın. Bloğun kapanış etiketi, bulunursa hemen takip eden yeni satırı "yutacaktır".

Yorum Yap:

Dosyanın sonundaki PHP blok etiketini kapatmak isteğe bağlıdır ve bazı durumlarda, örneğin içerme veya istek kullanılırken, dosyanın sonunda istenmeyen boşlukların kalmaması ve yine de ekleme yapabilmeniz için bunu atlamak oldukça yararlıdır. Yanıt sunucusuna bağlandıktan sonra http üstbilgileri. Bu, ayrıca, içerme dosyaları tarafından oluşturulan yanıt bölümlerinin sonunda boşluk bulunmasının istenmediği çıktı arabelleğe alma kullanılırken de yararlıdır.

Yorumlar (1)

PHP, "C", "C ++" stili yorumları ve Unix kabuklarını (Perl stili) destekler. Örneğin:

Tek satırlık yorumlar, yalnızca satırın sonuna veya PHP kodunun geçerli bloğuna, hangisi onlardan önce gelirse, gider. Bu, HTML kodunun ardından // ... ?> veya # ... ?> yazdıracak: ?> PHP modundan çıkar ve HTML moduna dönerken // veya # bunu etkileyemez. Direktif dahil ise asp_tags, o zaman aynı davranış // %> ve # %> ... Bununla birlikte, etiket PHP modunu tek satırlık bir yorumda sonlandırmaz.

oörnek

En üstteki başlık "Bu bir örnektir" yazacaktır.

"C" yorumları bulunan ilk dizide biter */ ... "C" yorumlarını iç içe geçirmediğinizden emin olun. Büyük bir kod bloğunu yorumlarken bu hatayı yapmak çok kolaydır.

Operatörler: karşılaştırmalar

$ bir== $b// NSEğer$ bireşittir$ b.

$ bir=== $b// $ a, $ b'ye eşitse VE bir tane varsa DOĞRU

aynı tip

$ bir!= $b// $ a, $ b'ye eşit değilse DOĞRU.

$ bir!== $b// $ a, $ b'ye eşit değilse DOĞRU VEYA

farklı türde olmaları durumunda.

$ bir< $b// $ a kesinlikle $ b'den küçükse DOĞRU.

$ bir> $b// $ a, $ b'den kesinlikle büyükse DOĞRU.

$ bir<= $b// $ a, $ b'den küçük veya ona eşitse DOĞRU.

$ bir>= $b// $ a, $ b'den büyük veya ona eşitse DOĞRU.

Operatörler: Boole

$ birve$b// NSEğerve$ bir,ve$b DOĞRU.

$ birveya$b// NSEğerveya$ bir,veya$b

! $ bir// NSEğer$ birOlumsuzNS.

$ bir&& $b// NSEğerve$ bir,ve$b DOĞRU.

$ bir|| $b// NSEğerveya$ bir,veya$b

$ birve$bve$c; $ birve$bveya$ c

$ birve($bve$ c)  $ birve$b&& $ c

$ birve($bveya$ c)  $ birve$b|| $ c

Veri tipleri

PHP sekiz basit türü destekler.

Dört skaler tip:

    kayan nokta (kayan noktalı sayı, çift olarak da bilinir)

İki karışık tip:

İki özel tip:

Tipik olarak, programcı bir değişkenin türünü ayarlamaz; Bu genellikle değişkenin kullanıldığı bağlama bağlı olarak çalışma zamanında PHP tarafından yapılır.

Yorum Yap:

Belirli bir ifadenin türünü ve değerini kontrol etmek isterseniz, şunu kullanın:var_dump().

Hata ayıklama için türün yalnızca insan tarafından okunabilir bir temsiline ihtiyacınız varsa, şunu kullanın:gettype ()... Belirli bir türü kontrol etmek için,Olumsuzkullanmakgettype (), bunun için kullanis_typefonksiyonlar.

Bir değişkenin türünü zorla değiştirmek istiyorsanız, değişkeni yayınlayabilir veya işlevi kullanabilirsiniz. set tipi ().

Türüne bağlı olarak bir değişkenin şu an, belirli durumlarda farklı anlamlara gelebilir.

Boole türü

Bu en basit tiptir. boole bir değerin gerçekliğini ifade eder. ya olabilir NS veya YANLIŞ.

Boole değerini belirtmek için şunu kullanın: anahtar kelime Doğru ya da yanlış. Her ikisi de büyük/küçük harfe duyarsızdır.

Genellikle, bazı operatörler döner boole daha sonra kontrol yapısına geçirilen bir değer.

\ n ";) // ... çünkü aşağıdakiler aynı anlama gelir: if ($ show_separators) (echo"


\ n ";)?>

Açıkça dönüştürmek için boole, kullanmak (bool) veya (boole)... Bununla birlikte, çoğu durumda, bir operatör, işlev veya kontrol yapısı gerektirdiğinde değer otomatik olarak dönüştürüleceğinden, bir atama isteğe bağlıdır. boole argüman.

dönüştürülürken boole , aşağıdaki değerler olarak kabul edilir YANLIŞ:

    booleanFALSE değerinin kendisi

    tamsayı0 (sıfır)

    float0.0 (sıfır)

    boş dize, "0" dizesi

    elemansız dizi

    alanları olmayan nesne (yalnızca PHP 4)

    özel tip NULL (ayarlanmamış değişkenler dahil)

    Boş Etiketlerden Oluşturulan SimpleXML Nesneleri

Diğer tüm değerler olarak kabul edilir NS(herhangi biri dahil kaynak ve ayrıca -1 sayısı).

Bütün sayılar

Tamsayı, ℤ = (..., -2, -1, 0, 1, 2, ...) kümesinden bir sayıdır.

Tamsayılar ondalık, onaltılı veya sekizli olarak belirtilebilir ve isteğe bağlı olarak önünde bir işaret (- veya +) bulunur.

Sekizli sistemi kullanıyorsanız, 0 (sıfır) sayısından önce, onaltılık sistemde ise 0x sayısından önce gelmelisiniz.

Örnek # 1 Tamsayılar

Bir tamsayının boyutu platforma bağlıdır, ancak tipik olarak maksimum değer yaklaşık 2 milyardır (bu, 32 bit imzalıdır). PHP, işaretsiz tam sayıları desteklemez.

Bütünün boyutunu aşmak

Bir tamsayı türünün sınırlarını aşan bir sayı tanımlarsanız, bu bir kayan noktalı sayı olarak yorumlanacaktır. Ayrıca, bir tamsayı aralığını aşan bir sayıyı değerlendiren bir operatör kullanırsanız, bunun yerine bir kayan noktalı sayı döndürür.

PHP'de tamsayı bölme operatörü yoktur. Sonuç 1/2 kayan noktalı bir sayı olacak 0.5 ... Değeri her zaman aşağı yuvarlayan bir tam sayıya çevirebilir veya işlevi kullanabilirsiniz. yuvarlak ().

Kayan nokta sayıları

Kayan nokta sayıları (diğer bir deyişle çiftler veya gerçek sayılar), aşağıdaki sözdizimlerinden herhangi biri kullanılarak belirtilebilir:

Bir dize, bir dizi karakterdir. PHP'de bir karakter bayt ile aynıdır, bu da tam olarak 256 farklı karakterin mümkün olduğu anlamına gelir. Bu aynı zamanda PHP'nin yerel Unicode desteğine "a. Bazı Unicode desteği" sahip olmadığı, ancak utf8_encode () ve utf8_decode () işlevlerine sahip olduğu anlamına gelir.

Yorum Yap:

Dize çok büyükse sorun yok. PHP tarafından empoze edilen dizelerin boyutunda pratikte hiçbir kısıtlama yoktur, bu nedenle uzunlukları hakkında endişelenmek için kesinlikle hiçbir neden yoktur.

Bir dize üç farklı şekilde belirtilebilir.

    tek tırnak

    ikili alıntı