okuma yazma bilmiyor. PHP yardımcı işlevlerini kullanarak yerel performansı iyileştirme

  • 03.11.2019

okuma yazma bilmeyen

Herhangi bir dilde okuyamayan veya yazamayan kişiler anlamına gelen yasal bir terim. Yabancı mevzuatta bu kişilere "alfabeler" (Analphabeten, Analphabets). Okuma yazma bilmeme, yazılı eylemlerin içeriğini bağımsız olarak anlamaya ve yasaların gerektirdiği şekilde el yazısı imza ile mühürlemeye izin vermeyen bir dezavantaj olarak, bir yandan medeni mevzuatı bu yasal kapasiteyi kısıtlamaya zorlar. Öte yandan, kişilere sivil faaliyetlere katılma fırsatı vermek, bu eksikliği yabancıların yardımıyla doldurmak. Mevzuatımıza göre, okuma yazma bilmeyenlerin hukuki ehliyetlerinin sınırlandırılması, bu kişilerin kamu hizmetine alınamaması, noter, komisyoncu, genel mahkeme kararlarında avukat ve hukuk işlerinde tanık olamamalarıdır. Kanun III; Kesin yönetim organına göre hizmete ilişkin Ust, madde 11; v. X, bölüm 1, madde 708 sayfa 96 eki; Hukuk mahkemesinin kuruluşu, madde 246, sayfa 1; Yönetmelikler noterde, madde 86). Mevzuatımızın okuma yazma bilmeyenleri sivil faaliyete kabul etme ve bilgisizliklerinden kaynaklanabilecek zararlı sonuçlardan koruma arzusu, bu kişiler adına eylemde bulunma şeklini belirleyen kararnamelerde ifade edilmektedir. Bu kararnameler özetle şu şekildedir: 1) Okuma yazma bilmeyenlerin yerine, inandıkları, yani kendileri için imzalamaları için talimat verdikleri kişiler tarafından her türlü eylem imzalanabilir, okuma yazma bilmeyen için okuryazar imzalama eylemi, ikincisinin huzurunda gerçekleşir; saldırı emri veya vekâletinin bizzat avukata verilmesi gerekir ve bu sözlü taleple veya el vererek yapılabilir, dolayısıyla - "elden taleple" ibaresi ve bunun için imzalı falan filan. ve benzeri. Bu durumda, elbette, suistimaller mümkündür, çünkü sözel veya sembolik olarak ifade edilen bir talimatın, adına kanunun düzenlendiği kişi tarafından fiilen verildiğine dair hiçbir belgesel garanti yoktur; Aynı şekilde, çok yaygın bir gelenek nedeniyle, okuma yazma bilmeyen bir kişinin imzası yerine eyleme kendi eliyle haç koyması veya "elini koyması", yani avuç içi kapalı olması durumunda istismar mümkündür. mürekkebi ile, burada "saldırı" ibaresi ve 2) okuma yazma bilmeyenler için okuryazar tarafından imzalanırken kötüye kullanma olasılığı göz önünde bulundurularak, mülklerin ödünç verilmesi ve edinilmesi ve satın alınması ile ilgili tüm zorunlu işlemler ve kişiler adına yapılan sözleşmeler. okuma yazma bilmeyenler tarafından düzenlenen senetler de dahil olmak üzere, okuma yazma bilmeyenler için atılan imzanın tasdik edilmesi için kamu makamlarına sunulmalıdır, ayrıca, eğer ikincisi böyle bir eylemde bulunuyorsa, komisyon sırasında tanıkların hazır bulunmasını gerektirir. yasa, okuma yazma bilmeyen için imza gerçeği onlar tarafından şart koşulmalıdır. Okuma yazma bilmeyenler için atılan imzanın özel şahıslar tarafından değil, kamu makamları tarafından tasdik edilmesi gerekir, çünkü yetkisiz kişiler tarafından borç kanıtı verilmesine izin verilmesi hukukumuzun genel kuralına aykırı olacaktır. Noterlik pozisyonunun verildiği yerlerde (bundan sonra bakınız) okuma yazma bilmeyenler için okuryazar imzasının onaylanması, noter tarafından kanunun görünümüyle (bundan sonra bakınız) eşzamanlı olarak gerçekleştirilir; noterlik hükmünün getirilmediği aynı yerlerde, bu tasdik, kanunun ibrazından önce yerel polis tarafından gerçekleştirilir. İsteği üzerine okuma yazma bilmeyen bir vasiyetçi yerine bir hane vasiyetnamesi imzalayan bir kişi (buna bir sonraki bakınız), bir vasiyetnamede bir imparatorluk tanık için gerekli olan tüm niteliklerin aynısına sahip olmalıdır (bir sonraki bölüme bakınız); ayrıca, imzasında, vasiyetçinin acizliğinden mi yoksa hastalıktan mı kaynaklandığı belirtilmelidir (Holy Law of Vol. X, Part 1, Art.,,,, 2111, 2322, ekli). 708, s. 73, 112 ve 119'a; Noterlik ile ilgili düzenlemeler, md. 113).

Yabancı kanunlarda alfabetik kurallara göre, bu kimseler vasiyetnamelerini yazılı olarak bildirmek isterlerse, son vasiyetlerini bir başkasına dikte etmek zorundadırlar ve yazılanlar kendi elleriyle imzalanamayacağından, daha sonra, bu tür vasiyetler için kanunen hazır bulunması gereken tanıklara ek olarak, okuma yazma bilmeyen vasiyetçi için vasiyetname imzalaması için başka bir kişi davet edilir. Fransız hukukuna göre, bu kişi gerçek bir tanık olarak görünmektedir, ancak Alman hukukuna göre bu anlamı taşımamaktadır, ancak yalnızca, bu kişinin şu veya bu alfabe adına ve zamanında yapıldığını imzasıyla imzalaması istenmektedir. Onun iradesi. Prusya yasalarına göre, okuma yazma bilmeyenler, körlerle eşit olarak, mahkeme kayıtlarına girdiklerinde sözlü vasiyetname yapma hakkına sahiptir; bu protokol vasiyetnamenin tüm özelliklerini taşıyan iki kişi tarafından alfabe için imzalanmıştır. Alfabelerle yapılan anlaşmalar ve anlaşmalar sunulmalıdır (bu sl'ye bakın). Okuma yazma bilmeme kavramı altında, bir şekilde, eylemin gerçekleştirildiği ülkenin dilinin cehaletini de getirebilir. Mevzuatımız, Rus dilini bilmeyen veya Rusça yazamayan kişilerin katılımıyla işlenen fiilleri öngörmektedir. Buna aşağıdaki hükümler dahildir: 1) Rusça bilmeyenler veya Rusça yazamayanlar başka bir dilde imza atabilirler, ancak bu durumda bu imzanın bir tercüme sertifikası ile Rusça'ya çevrilmesi gerekir ve 2) Rus dilini bilmeyenler, noterlik işlemlerinin icrasında vekaletten yoksun kalma korkusuyla tanık olamazlar (Noterlik Yönetmeliği, Madde 70 ve 87).

Her sihirbazın harika bir araç setine ihtiyacı vardır ve web geliştiricileri bu konuda diğer sihirbazlardan farklı değildir. PHP yardımcı işlevleri, yürütmeyi hızlandırmak ve tekrarlanan görevleri daha tutarlı hale getirmek için tasarlanmıştır.

Bu öğretici, PHP yardımcı işlevleri kavramını ve tekrar tekrar kullanabileceğiniz genel kod yazma sürecini açıklar. Bu özellikler, tekrarlayan görevleri en aza indirerek uygulama geliştirme sürecini daha hızlı ve daha net hale getirir.

Bağlantılar için yardımcı işlev

Sık tekrarlanan görevlerden biri bağlantı yazmaktır. Bu görev için bir yardımcı fonksiyon oluşturarak, uygulama geliştirme süresini kısaltabilir, sözdizimi hataları olasılığını ortadan kaldırabilir ve dosya silindiğinde veya site farklı bir etki alanına taşındığında kodun değiştirilmesini kolaylaştırabiliriz. Öncelikle helpers.php dosyasına çok basit bir fonksiyon yazalım:

işlev get_domain ()
{
// $ etki alanı değişkeni, uygulamanızın çalıştığı etki alanının adını içerir.
$ domain = "http://www.my-site-domain.com/";
$ alan adını döndür;
}

Bu küçük işlev, bir dosyanın tam yolunu almanız gereken her yerde kullanılabilir ve site geliştirme sırasında tekrar tekrar kullanılabilir. Bu yaklaşım $ _SERVER ["HTTP_HOST"] yöntemini kullanarak bir etki alanı almaktan daha uygundur, çünkü birisi “www” olan veya olmayan bir etki alanı yazarsa çıktı aynı kalır ve siteniz bir alt etki alanında bulunuyorsa da çalışır. örneğin “http: // localhost / sitem”.

Ayrıca, bu yöntem bir siteyi taşırken çok kullanışlıdır, çünkü tüm mutlak yollar tek bir işleve atıfta bulunacaktır ve $ etki alanı değişkenini yeni etki alanı adına değiştirmek tüm bağlantıları bir kerede değiştirecektir.

Kodu yükseltme

Şimdi, parametrelere göre doldurulmuş doğru, standart html satırını çıkaracak “anchor” adında bir fonksiyon oluşturalım, örneğin:

Yeni sayfa

Ve kaynak kodun nasıl görünmesi gerektiği:

Yankı bağlantısı ("yeni sayfa.php", "Yeni Sayfa");

Yani iki argümanlı bir PHP fonksiyonumuz var: biri link, diğeri ise başlığı olan bir metin. helpers.php dosyasına yeni bir fonksiyon yazın:

İşlev bağlantısı ($ bağlantı, $ metin) // 1
{
$ etki alanı = get_domain(); // 2
$ bağlantı = $ etki alanı. $ bağlantısı; // 3
$ veri = "// 4
$ veri = ">";
$ veri = $ metin; ///4
$veri = "";
$ verisini döndür;
}

  1. Bu, iki bağımsız değişkenli bir "çapa" işlevini tanımlar.
  2. Alan adını, zaten oluşturulmuş olan get_domain() işlevini kullanarak alırız.
  3. Fonksiyon argümanı olan $ link değişkenini tamamlıyoruz.
  4. Hem site için hem de bağlantı için "başlık" etiketi için görünür metin oluşturmak üzere $ text değişkenini kullanarak $ data değişkeninde bir çıktı dizesi oluşturun.

Şimdi çalışmayı kontrol edebilirsiniz. helpers.php dosyasıyla aynı klasörde yeni bir index.php dosyası oluşturun. index.php dosyasının içeriği:

Require ("helpers.php");
yankı çapa ("yeni sayfa.php", "Yeni Sayfa");

Gereksinim () işlevini kullanarak iki dosyayı birleştiririz ve ardından çapa () işlevini çağırırız. Tarayıcı sonucu döndürmelidir:

$ Yeni Sayfa

Esneklik ekleyin

Oluşturulan işlev çok faydalı olabilir, ancak iyileştirilmesi gerektiğine şüphe yoktur. Gerçekten harika ve esnek hale gelmeden önce eklenecek üç yeni özellik var. İlk olarak, özel başlık etiketi için add özelliği. İkincisi, CSS kuralları ekleme yeteneği. Üçüncüsü, gerekirse yeni bir pencerede açılacak bir özellik.

Önce özel başlık etiketine bakalım. Başlık etiketi SEO amaçları için çok önemlidir ve şimdiye kadar bağlantılarınıza eklemediyseniz, o zaman bir alışkanlık değişikliği yapmanın zamanı geldi. Fonksiyonumuz bu süreçte yardımcı olacaktır. Hiçbir şey eklemediyseniz, varsayılan olarak görüntü metni başlık etiketine eklenecektir.

İşlev bağlantısı ($ bağlantı, $ metin, $ başlık) // 1
{
$ etki alanı = get_domain();
$ bağlantı = $ etki alanı. $ bağlantısı;
$ data = "if ($ başlık) // 2
{
//3
}
Başka
{

}
$ veri = ">";
$ veri = $ metin;
$veri = "";
$ verisini döndür;
}

Bu, çapa () işlevinin değiştirilmiş bir sürümüdür.

  1. Üçüncü bir değişken ekleyin, $ title.
  2. Kullanıcının başlık etiketini girip girmediğini kontrol edin.
  3. Başlık etiketini ayarlayan $ veri satırına bir bölüm ekleyin.
  4. $ metin değişkenini kullanarak varsayılan başlık etiketini ayarlayın.

Şimdi fonksiyon çağrısı index.php dosyasında şöyle görünecek:

Yankı bağlantısı ("yeni sayfa.php", "Yeni Sayfa", "Özel Başlık Mesajı!");

Ve çıktı şöyle olacaktır:

Yeni sayfa

Stil seçenekleri ve çıktı penceresi

Yeni bir pencerede CSS stili veya çıktı eklemeniz gerekse bile fonksiyonu kullanabilmeniz için dördüncü bir değişken ekleyip çıktıyı değişikliklere göre ayarlayalım.

Bir CSS sınıfı, CSS kimliği veya hedef etiket eklemek istediğimizi anlayabilmek için işleve ihtiyacımız var. Ayrıca, aynı anda birkaç seçeneği veya yalnızca bir seçeneği kullanma veya hiç seçenek kullanmama olanağı sağlamanız gerekir. Çapa işlevini değiştirmeye başlayalım:

İşlev bağlantısı ($ bağlantı, $ metin, $ başlık, $ ekstralar) // 1
{
$ etki alanı = get_domain();
$ bağlantı = $ etki alanı. $ bağlantısı;
$ data = "if ($ başlık)
{
$ veri. = "başlık =" ". $ başlık." "";
}
Başka
{
$ veri. = "başlık =" ". $ metin." "";
}
if (is_array ($ ekstralar)) // 2
{
foreach ($ kuralı olarak $ ekstralar) // 3
{
$ veri = parse_extras ($ kuralı); // 4
}
}
if (is_string ($ ekstralar)) // 5
{
$ data. = parse_extras ($ ekstralar); // 6
}
$ veri = ">";
$ veri = $ metin;
$veri = "";
$ verisini döndür;
}

  1. "$ ekstralar" adlı dördüncü bir bağımsız değişken eklendi. Tüm ek özel seçenekleri içerir.
  2. Bu değişkenle bir dizi geçirilip geçirilmediğini kontrol ediyoruz. İşleve birden çok seçenek iletmek için bir dizi kullanacağız, örneğin bağlantı için CSS ID ve CSS sınıfını ayarlamak için.
  3. Eğer bu bir dizi ise, üzerinden geçer ve her bir elemanı yeni “parse_extras” fonksiyonunu kullanarak işleriz. Bu işlev, ne eklemek istediğimizi belirler ve karşılık gelen doğru html metnini biçimlendirir.
  4. $ extras bir dizge ise, o zaman sadece bir kuralı geçmek istiyoruz. Bu şekilde, tek bir öğe üzerinde parse_extras() işlevini çağırabilirsiniz. is_string () işlevi, değişken boşsa FALSE döndürür. Bu nedenle, $ ekstralarından hiçbir şey geçmediyse, hiçbir kod yürütülmez.

Ayrıca yeni bir fonksiyon yazalım parse_extras() :

parse_extras işlevi ($ kuralı)
{
if ($ kuralı == "#") // 1
{
$ id = substr ($ kuralı, 1, strlen ($ kuralı)); // 2
$ veri = "id =" ". $ kimlik." ""; // 3
$ verisini döndür;
}
if ($ kuralı == ".") // 4
{
$ class = substr ($ kuralı, 1, strlen ($ kuralı));
$ veri = "sınıf =" ". $ sınıf." "";
$ verisini döndür;
}
if ($ kuralı == "_") // 5
{
$ data = "hedef =" ". $ kuralı." "";
$ verisini döndür;
}
}

Bu özellik, seçeneklerimiz için doğru tanımlayıcının kullanılmasını gerektirir. Bir CSS kimliği girersek, # ile başlayacaktır. Bir CSS sınıfına geçersek, o zaman başlayacak. ... Ve bir hedef etiket iletilirse, _ ile başlar.

  1. $ dizesini kullanarak dizenin ilk karakterini kontrol etme. Bu sözdizimi, bir dizinin ilk öğesini elde etmenizi sağlar, ancak aynı zamanda bir dizede bir karakter almak için de çalışır.
  2. İlk karakter olmadan $ kuralı dizesiyle doldurulmuş yeni bir değişken oluşturun. Şimdi kuralı belirledik ve html metninin doğru oluşumu için satırdaki ilk karaktere gerek yok. Bu substr() ve strlen() kombinasyonu, bir dizgedeki ilk karakteri atmak için çok kullanışlıdır.
  3. Şimdi $ verisinden bir çıktı dizisi oluşturabiliriz. Yöntem, CSS sınıfı ve hedef etiket için tekrarlanır. Hedef etiket için ilk karakteri atmamıza gerek olmadığını belirtmekte fayda var.

Şimdi çapa () işlevine yapılan çağrıyı değiştirebiliriz.

Yankı bağlantısı ("yeni sayfa.php", "Yeni Sayfa", "Özel Başlık Mesajı!", "# Özel_bağlantı");

Burada CSS kimliğini geçiyoruz ve çıktı şöyle görünecek:

Yeni sayfa

Bir sınıf, kimlik belirtilmesi ve yeni bir pencerede açılması durumunda, işlev çağrısı şöyle görünecektir:


yankı çapa ("yeni sayfa.php", "Yeni Sayfa", "Özel Başlık Mesajı!", $ ekstralar);

Önceden tanımlanmış dizi değişkeni yalnızca kodu netleştirmek için kullanılır. Fonksiyonun çıktısı şöyle görünecektir:

Yeni sayfa

Mailto'yu bağla

Son olarak, uygulamanızda nasıl mailto bağlantısı oluşturulacağına bakacağız. Önemli bir farkla, çapa () işlevine çok benzeyen bir mailto () işlevi oluşturalım: spam tarayıcılarının müşterinizin adresini alamaması için html çıktısının şifrelemesini uygulayacağız.

E-posta adresini gizlemek için, sadece bir dize alan ve tüm alfabetik karakterleri alfabede on üç konum taşıyan str_rot13 () işlevi kullanılacaktır.

Şifreleme işlevi, kodumuzu bozuk bir biçimde çıkaracak ve ardından JavaScript işlevini kullanarak, tüm karakterleri on üç konum geriye kaydırabilir ve orijinal değeri geri yükleyebiliriz. Bu işlev istemci tarafında gerçekleştirilse de bir eylemdir ve sayfadaki metin değişmeden kalır. Böylece, spam tarayıcıları bir adres yerine çöp alır.

mailto() işlevi şöyle görünecektir:

mailto işlevi ($ email, $ metin, $ başlık, $ ekstralar) // 1
{
$ bağlantı = " $ bağlantı = str_rot13 ($ bağlantı); // 3
$ veri = "";
$veri = "" ";
if ($ başlık) // 6
{
$ veri. = "başlık =" ". $ başlık." "";
}
Başka
{
$ veri. = "başlık =" ". $ metin." "";
}
if (is_array ($ ekstralar))
{
foreach ($ kuralı olarak $ ekstralar)
{
$ veri = parse_extras ($ kuralı);
}
}
if (is_string ($ ekstralar))
{
$ veri = parse_extras ($ ekstralar);
}
$ veri = ">";
$ veri = $ metin;
$ veri. = "
"; //7
$ verisini döndür; //sekiz
}

Farklara bir göz atalım:

  1. İşlevin dört argümanı vardır, ancak ilki açıklık amacıyla $ email olarak yeniden adlandırılmıştır.
  2. mailto bağlantısını oluşturmak için yeni bir değişken oluşturun. Dize JavaScript işlevine iletileceğinden ve çift tırnakların doğru tanınması için her şeyi yapmamız gerektiğinden, tırnak işaretlerinin önüne ters eğik çizgi ekledik.
  3. $ link değişkeni için str_rot13() fonksiyonunu çalıştırıyoruz.
  4. JavaScript içeren bir $ data değişkeni oluşturun.
  5. Ortaya kodlanmış $ link değişkenini koymak
  6. JavaScript şimdi $ data değişkenine eklendi, fonksiyonun geri kalanı tanıdık geliyor
  7. Özel başlık etiketinin eklenip eklenmediğini kontrol ediyoruz ve ardından $ ekstralarını işliyoruz. Etiketimizi kapatın...
  8. ... ve verileri döndürün.

Artık bir mailto bağlantısı oluşturmak için index.php dosyamızda aşağıdaki sözdizimini kullanabiliriz:

Eko mailto (" [e-posta korumalı]"," Bana ulaşın ");

Veya özel ayarlar kullanıyorsanız, bunun gibi:

$ ekstralar = dizi ("# özel_kimlik", ". özel_sınıf", "_ boş");
yankı posta (" [e-posta korumalı]"," Bana Ulaşın "," İyi dostunuz Barry ile iletişime geçin. ", $ Ekstralar);


Bu yazımızda PHP bloklarından bahsedeceğiz.

Acemi web yöneticileri ve geliştiriciler bu konsepte aşina olmayabilir. Bu makaleyi okumalarını ve ardından ilk fırsatta benimsemelerini ve kullanmalarını tavsiye ederim.

Kelimenin tam anlamıyla birçok geliştirici tarafından kullanılan vazgeçilmez bir araçtır.

PHP blokları hakkında biraz

PHP bloklarının kullanımı, bir web sitesi oluşturmayı, güncellemeyi ve optimize etmeyi çok daha kolay hale getirir.

PHP bloklarını öğrenmesi kolaydır. Yalnızca HTML ve CSS'de bir web sitesi oluşturuyorsanız ve henüz PHP diline aşina değilseniz, yine de kullanabilirsiniz.

PHP bloğu, html kodunun bir parçasını içeren * .php uzantılı bir dosyadır.
Bu php dosyası, içerme yapısı yardımıyla sayfanın gerekli yerine eklenir, böylece içindeki html kodu bu yere yerleştirilir.

PHP bloklarının kullanımı için bir ön koşul, birlikte çalışacağınız dosyalar için * .php uzantısıdır. Yani * .html uzantılı bir dosyaya PHP bloğu ekleyemezsiniz.

Bu nedenle, şimdiye kadar html dosyalarını düzenlediyseniz, * .html uzantılarını * .php uzantılı olarak değiştirmeniz gerekir. Henüz PHP'ye aşina olmayanlar için, dosya uzantısını * .html'den * .php'ye değiştirmek, html koduyla yapılan çalışmada herhangi bir değişiklik yapmadığından, bunda yanlış bir şey olmadığını belirtmekte fayda var.

PHP bloklarını kullanma örneği

Herhangi bir site, sayfadan sayfaya geçerken değişmeyen öğelere sahiptir. Bunlar, sitenin üstbilgi ve altbilgisi, dikey veya yatay gezinme menüleri, muhtemelen bir reklam birimi vb. öğelerdir.

Şimdi sitenizin 10 sayfadan oluştuğunu ve gezinme menüsünü düzenlemeye karar verdiğinizi hayal edin: tasarımını değiştirin veya birkaç bağlantı ekleyin / kaldırın.

Yalnızca HTML ile çalışıyorsanız, sitenin her sayfasındaki menüyü 10 kez düzenlemeniz gerekir. Ve siteniz 100 sayfadan oluşuyorsa ve örneğin gezinme menüsü tamamen yeniden tasarlanıyorsa.

Ne kadar iş yapmanız gerektiğini hayal edebiliyor musunuz?

Bu durumdan çıkış yolu çok basittir. Doğru tahmin ettiğiniz gibi - Onlarla nasıl çalışılacağına dair bir örneğe bakalım.

Aşağıdaki kod parçacığı, sitemin üst gezinme menüsünün orijinal html kodudur.



Üst menü her sayfada bulunur, bu nedenle sunulan kodu bir PHP bloğuna dahil etmek mantıklıdır. Ne yapmaya ihtiyacım var?

Gezinme menüsünün html kodu yerine bir PHP bloğu yerleştireceğimiz dosyalar için * .html uzantısını * .php olarak değiştiriyoruz.


Anlamlı bir ada sahip bir php dosyası oluşturun. Örneğin, up_menu.php ( İngilizceden yukarı- üst ve Menü- Menü).


Üst menünün html kodunu kopyalayın ve oluşturulan up_menu.php dosyasına yapıştırın. Ve aynı html kodu * .php uzantılı site sayfalarından kaldırılmalıdır.


PHP komut dosyası koduna dosyaları dahil etmek için tasarlanmış include yapısını kullanarak up_menu.php dosyasını uzak kodun yerine yerleştirin ( yapıyı dahil et harici bir dosyada bulunan kodu içerir).


PHP sözdizimi aşağıdaki gibidir:

dahil ("dosya yolu"); ?>

Bizim durumumuzda:

Hepsi bu kadar! Navigasyon menümüz hazır. Ve şimdi, düzenlemek için up_menu.php dosyasındaki kodu düzeltmeniz gerekiyor. Bu, yapılan değişikliklerin ilgili PHP bloğunun kurulu olduğu sitenin tüm sayfalarını etkilemesi için yeterli olacaktır.

Kural olarak, PHP bloklarını kullanırken, sitenin kök dizininde mevcut sitenin tüm bloklarını içeren bir bloklar klasörü oluşturulur. Örneğin:

Header.php - site başlığı için blok ( İngilizceden başlık- başlık, baş kısmı);

Footer.php - alt bilgi için blok ( alt parçası) alan ( İngilizceden altbilgi- altbilgi);

Up_menu.php - üst gezinme menüsünün kodunu içeren daha önce bahsedilen dosya;

Left_menu.php - sol gezinme menüsünün kodunu içeren blok;

Vesaire.

Doğrudan siteniz için ihtiyaç duyduğunuz kadar blok oluşturabilirsiniz.

Sonuç olarak, oluşturulan bloklar klasörü göz önüne alındığında, PHP bloklarını eklemek için sözdizimi aşağıdaki gibidir:

dahil ("bloklar / up_menu.php"); ?>

İlk önce tüm blokların bulunduğu klasörü ve ardından istenen bloğun adını belirtiyoruz!

PHP bloklarıyla bu şekilde çalışırsınız. Gördüğünüz gibi PHP dilinin yalnızca bu özelliğini kullanmak herhangi bir sitenin işlevselliğini önemli ölçüde artırabilir.

Çekirdek :: getInstance(); // Singleton'a göre

Söylesene yarından sonraki gün kendin veya senin mantığından farklı bir başkası hangi korkuyla Kernel :: getInstance() sonucunda sayfanın oluşacağını tahmin edebilir mi? Burada nerede yazıyor? Kolay anlaşılır bir kuyu yerine en azından

Çekirdek :: getInstance() -> showMeThePage();

Kodu uzun süre kazacaksınız veya projeyle ilgili kilogramlarca belgeyi yazıp okuyacaksınız ... Ama bu böyle, bir söz.

Neden
Çünkü nesnelerinizin yapımı, nesnenin yapıldıktan sonraki durumunda herhangi bir değişiklik anlamına gelmez. Nesneyi yalnızca yapıcı aracılığıyla kullanma seçeneklerini sabit kodladınız. Ve evet, yarın $ db'ye ek olarak başka bir nesne eklemeniz gerekirse, tüm bağımlı yöntemlerin argümanlarını yeniden yazmak uzun ve sıkıcı olacaktır.

Sınıflarınız, sınıfın kullanıcısı, örneğin davranışını TAMAMEN etkileme yeteneğine sahip olacak şekilde tasarlanmalıdır. Sende her şey tam tersi. Sınıfı kullanmak için yalnızca bir seçenek sağladınız - yapıcı üzerinde çalıştıktan sonra elde edilecek sonuç. Yani, örneği yeniden oluşturmadan aynı sonucu tekrar elde edemezsiniz.

keşke bu şekilde alsaydın

// Burada sadece belirli nesneleri belirtiyoruz $ k = Kernel (new MySpecificDb ($ config), new MyOtherSpecific()); // ve istediğimiz zaman hem bu // nesnelerle hem de çekirdekle, davranışını değiştirerek // bu nesneleri değiştirerek istediğimizi yapabiliriz $ myDb = $ k-> getDatabase (); $ k-> setDatabase (yeni LogQuery ($ myDb)); // farklı başlatma kodu // Tüm bunlardan sonra çekirdeği görevini yürütmeye zorluyoruz $ k-> runPage ();

not. Ve adaptör, bir arayüzü diğerine tam olarak uyarlamak için kullanılır. İlk başta, argümanlarla ilgili sorunun ne olduğunu anlamadım.

-~{}~ 13.05.08 14:07:

Yetişmek

Bir Config sınıfı vardır, yöntemleri (konfigürasyon parametrelerinin veritabanından ilk yüklenmesi, bir konfigürasyon parametresinin değerini anahtar ile alma) diğer sınıfların diğer yöntemlerinde birçok kez kullanılır (Kernel, Module).

Belki Config sınıfının tek bir örneği yeniden kullanılıyordur? Bunlar farklı şeyler:

1. Her birinin yöntemleri 1 kez çağrılan Config sınıfının 50 örneğini oluşturdum - Config türünü 50 kez kullandım.

2. Yöntemleri 50 kez çağrılan Config sınıfının 1 örneğini oluşturdum - Config türünü bir kez kullandım.

Programdaki tür numarasının pratik değeri bundan değişmiyorsa, iki sayıyı kaç kez eklediğinizin farkı nedir? 500 farklı sayısal değer kullanan yani sayı türünü 500 kez kullanan bir programda sayı türünün değeri ne kadar yüksektir?

ben zarf nitelikler. 1. Okuma yazma bilmemek (bir kişi hakkında). 2. Edebi dilin normlarına uymayan (metin hakkında) birçok dilbilgisi ve üslup hatası yapmak. 3. aktarım. Herhangi bir uzmanlık alanının temel gereksinimlerini karşılamayan; ... ... Efremova'nın Rus dilinin modern açıklayıcı sözlüğü

Yetkin... zıt anlamlı kelimeler sözlüğü

okuma yazma bilmeyen- Göndermek. cahilliğe... Ukraynaca Tlumachny kelime hazinesi

okuma yazma bilmeyen- okuma yazma bilmeyenler görmek; adv. Yazmak imkansız. Tesis emek / motno olmadan tasarlanmıştır ... Birçok ifadenin sözlüğü

okuma yazma bilmeyen- nezmynyuvan slovnikov odinitsya'nın uşağı ... Ukrayna dilinin yazım sözlüğü

okuma yazma bilmeyen- bezor / motno ... Zor zarfları hecelemek

Garip, beceriksiz, okuma yazma bilmeyen, okuma yazma bilmeyen, vasıfsız, vasıfsız, dikkatsiz, cahil, düşük seviyede, güdük boyunca Rusça eşanlamlılar sözlüğünün bir destesi. okuma yazma bilmeyen, beceriksizce Rus dilinin eşanlamlıları sözlüğüne bakın. Pratik rehber. M ... eşanlamlı sözlük

Cahil, okuma yazma bilmeyen, okuma yazma bilmeyen Rusça eşanlamlılar sözlüğü. yarı okur yazar 1.siyah okuma yazma bilmeyen 2. okuma yazma bilmeme konusunda beceriksiz ... eşanlamlı sözlük

Düşük düzeyde, beceriksiz, okuma yazma bilmeyen, okuma yazma bilmeyen, vasıfsız, dikkatsizce, dikkatsizce, bir güverte kütüğü aracılığıyla, vasıfsız Rusça eşanlamlılar sözlüğü. beceriksizce beceriksiz, okuma yazma bilmeyen, okuma yazma bilmeyen, vasıfsız, düşük düzeyde; özensiz (konuşma dili) ... ... eşanlamlı sözlük

Kitabın

  • , A. Semenov, Neo-faşizmin belli bir genç kesim arasında çok popüler bir ideolojik moda haline geldiği bir zamanda yaşıyoruz. Neyse ki, katman hala sayıca küçük. Televizyon ve gazeteler, bizim... Kategori: Toplum Yayımcı: Altın Bölüm,
  • Mistik faşizme ölümcül aşk, A. Semenov, Neo-faşizmin belirli bir gençlik katmanı arasında çok popüler bir ideolojik moda haline geldiği bir zamanda yaşıyoruz. Neyse ki, katman hala sayıca küçük. Televizyon ve gazeteler, bizimki ... Kategori: