Umutsuz listeleme php. Ek PHP kullanan klasörlerin listesini seçin. Bir kripto para biriminin dolaşımdaki bir teklifi veya piyasa değeri için bir rakam yerine başka neden bir beslenme işareti ekleyebilirsiniz?

Amazon'da iş yapmak, bu çevrimiçi kaynakta yaygın olan çeşitli terminolojiyi öğrenmeyi gerektirir. Kibar arama optimizasyonu Yaku'yu unutma. Bugün listelemelerden ve bunların Amazon'da mal satma sürecindeki rollerinden bahsedeceğiz.

Bu kelimenin anlamında neyin önemli olduğunu anlayalım. Listeleme, çevrimiçi mağazadaki herhangi bir ürünün açıklamasını ve özelliklerini içeren bir sayfadır. Her satıcı bu alanı doldurmanın önemini açıkça anlamalı ve bu adımı göz ardı etmemelidir. Bir ürünü Amazon'da listelemek birçok adımı içerir.

1. Ürün başlığı.

Bu alan ürünün adını içerir. En iyi şey, alıcının ürününüzün sayfasına gitmesinden fayda sağlamasıdır. Başlık iyi olsa bile ürünün adını ve en önemli özelliklerini (örneğin beden, beden, TM) yanlış tanıtmak suçtur. En popüler olanları başlığa koymak en iyisidir gürültüyü sor. Bu, ürününüzün en üst sıralarda yer almasına yardımcı olacaktır.

2. Ürünün fotoğrafı.

Görünüşe göre kıyafetleri hakkında konuşuyorlar. Amazon'da ürünler fotoğraflarına göre de fiyatlandırılıyor. Listede ürünü temsil eden çok yüksek kaliteli fotoğraflar bulunabilir kısa taraf. Kafa fotoğrafı ürünü yakından gösterebilir, kafa fotoğrafı ise ürünü önden gösterebilir.

3. Buleti.

Yani numarasız bir liste halinde sunulan bu ürünün temel avantajları bunlardır. Alıcının ürünü olumlu bir şekilde övmesine yardımcı olmak için broşürler bu bilgilerle doldurulacaktır.

4. Ürünün açıklaması.

Bültenlerde yazılmayan her şeyi buraya yazmanız gerekiyor. Marka hakkında daha fazla bilgi, ürünün kalitesini onaylayan sertifikalar ekleyebilirsiniz. Açıklamadaki başlığın VAKA MEKTUP olarak görülmesi gerekmektedir. Böyle bir kurnazlık her zaman dikkatinizi çekmek için gereklidir.

5. Anahtar kelimeler.

Listelerdeki anahtarlar çok önemlidir, çünkü bunların çok fazla olması alıcıyı malları almaktan caydırabilir. Katlamak anahtar kelimeler listelemenin tasarımını bozmadan doğru bir şekilde.

Ürün listelemedeki açıklamayla eşleşmezse alıcı para kaybedebilir ve gerekli sayıda oy toplanırsa Amazon bulut girişini engeller. Listelemelerde ürünün rengine, numarasına ve diğer görevlilere göre farklı varyasyonlar oluşturabilirsiniz. Farklı ürünler için farklı listelemeler oluşturmanız önerilir.

Açık ve iyi bir listeleme kısa ve bilgilendirici olma eğilimindedir. Pek çok önermede ürünün tüm özü ve ana özellikleri ortaya çıkarılabilir. Doğru listeleme, alıcının saygısını kazanmanıza ve kar elde etmenize yardımcı olacaktır.

Apache'nin gördüğü gibi sıkıcı ve basit bir dosya listesi, bazı basit manipülasyonlarla güzel tasarımlara dönüştürülebilir.

Rutinin arkasında ne var:

Sırayla başlayalım. Hatırlayalım .htaccess:

RewriteBase Üzerinde RewriteEngine / Seçenekler +Dizinler Seçenekler +SymLinks'i Takip Et

1. Sorgu satırlarını işlemek için Apache modülünü açın.
2. Temel yolu ayarlayın.
3. Dosya listesinin görüntülenmesini etkinleştirir.
4. Sembolik bağlantıların (Sembolik olarak gönderilen SymLink) işlenmesini sağlar. dosya sistemi* nix sistemleri).

ErrorDocument 400 /error.shtml ErrorDocument 401 /error.shtml ErrorDocument 403 /error.shtml ErrorDocument 404 /error.shtml ErrorDocument 500 /error.shtml

İkramlar için sayfaları ayarladık (gereksiz :)). Bununla ilgili bilgilerin çıkarılması SSI (shtml dosyaları) aracılığıyla gönderilir - bu konu için konu dışı.

izin ver, reddet, hepsinden reddet

.htaccess erişimini koruyoruz

IndexOptions IgnoreCase FancyDizin Oluşturma KlasörleriFirst NameWidth=* AçıklamaWidth=* XHTML HTMLtable SuppressHTMLPreamble SuppressRules SuppressLastModified IconHeight=16 IconWidth=16 IndexOrderDefault Artan Ad HeaderName dirlist_header.shtml ReadmeName dirlist_footer.shtml IndexIgnore error.shtml *.png *.cs s dirlist _header.shtml dirlist_footer.shtml cgi - bin favicon.ico .htaccess .ftpquota .DS_Store *.log *,v *,t .??* *~ *#

1. Dosyaları listelemek (indekslemek) için modülün kurulması.
2. IndexOptions – geliştirilmiş modül seçenekleri. Mevcut tüm seçenekler için manuel.
Vakayı Yoksay– dosya kaydını yoksay
Fanteziİndeksleme– listeleme için diğer seçenekleri içerir
KlasörlerÖnce– kataloglar, tüm listeyi görüntüleyin
Ad Genişliği=*– dosya adı alanının boyutu, * – dosya adının orijinal genişliğinin boyutu, mevcut adlar yeni bir satıra aktarılmayacaktır
AçıklamaGenişlik=*– dosyayı tanımlamak için aynısı
XHTML- Listelemeli sayfa düzeninin formatı. Muhtemelen HTML'im
HTML tablosu– netlik, stil ve sütun düzeni için dosya listesini bir tabloya sarın
BastırHTMLÖnsöz- Kendi ayarlarınızı yapabilmeniz için standart üstbilgi ve altbilgiyi temizler
BastırmaKuralları– yatay çizgileri seçer
SuppressDescription, SuppressLastModified, SuppressSize– Sütunları dosya açıklamasına, değişiklik tarihine ve boyutuna göre düzenleyin
Simge Yüksekliği=16- Dosya simgesi yüksekliği
Simge Genişliği=16- Dosya simgesi genişliği
SimgelerBağlantılardır– simgeler dosyaya gönderilir
3. Dosya adına göre, ada göre sıralama.
4 ve 5. Üstbilgi ve altbilgi kodlu dosya adları.
6. Dosya listesinden ismin ve maskenin eklenmesi.

DefaultIcon /icons/bullet_black.png AddIcon /icons/folder.png ^^DIRECTORY^^ AddIcon /icons/bullet_arrow_up.png .. AddIcon /icons/deb16.png .deb AddIcon /icons/book_open.png .pdf AddIcon page_white_word.png .txt .doc .rtf .log .asc AddIcon /icons/picture.png .jpg .jpeg .jpe .png .gif .mpg .ico .psd AddIcon /icons/music.png .mp3 .wav .vox . wma .ra .ram .ogg .vqf .aac AddIcon /icons/film.png .mov .avi .wmv .mpeg AddIcon /icons/html.png .html .htm .shtm .shtml AddIcon /icons/xhtml.png .xhtml AddIcon /icons/css.png .css AddIcon /icons/script.png .php

Daha fazla dizinin sıralamasına gitmek için simgeler atamak ve farklı formatlar Dosyalar. Birçok türe ait simgeler SILK setinden alınabilir. Geniş bir seçim için tüm SILK simgelerine (1 megabayt) sahip Pano.

Açıklama Ekle "[ Geri gitmek.]" ..Açıklama Ekle " Müzik/Ses Dosyası".mp3 Açıklama Ekle"

Sıkıntıyı bitirmek ve duygularınızı sevmek yeterince kötü!

"AncientWar.deb AddDescription"

Bash.Org.Ru Görüntüleyici

"BashOr.deb AddDescription"

Eğlenceli yazım oyunu!

"BeeSpelled.deb AddDescription"

DEB paketi

".deb

Belirli dosyaları, dizinleri ve isim dosyası formatlarını anlatacağım.

Dosya listesi için sayfalar ve stiller oluşturma
XHTML düzenine sahip ana sayfalar ve akış yolunun SSI eklenmesi.

dirlist_header.shtml

<!--#echo var="Request_URI" -->

Konum:


dirlist_footer.shtml


AppDB 2009-2015
Her hakkı saklıdır

stil.css

Gövde ( arka plan eki: sabit; ) #wrap ( genişlik:960px; kenar boşluğu:30px otomatik 0; ) #main ( genişlik:900px; kayan nokta:sol; dolgu:10px 30px 0 30px; kenarlık:0px; ) #tbl :1px kesikli #555; dolgu: 0; ) h1 ( font: 2.0em Verdana, Georgia, serif; text-align:center; color:#787878; ) h3.location ( font-size:13px; font-weight: kalın kenar boşluğu:12px 0 30px;text-align: center;color:#4D4D4D; : yok; color: #eee; border-bottom: 1px kesikli #eee; kenar boşluğu:0; ) tr:nth-child(odd) ( arka plan: url(181818.png); ) tr: n'inci-çocuk(çift) tek):hover td, tr:n'inci-çocuk(tek):aktif td, tr:n'inci-çocuk(çift):hover td, tr:n'inci-çocuk(çift):aktif td (renk: #eee; ) tr: n'inci-çocuk(tek):hover tda, tr:n'inci-çocuk(tek):aktif tda, tr:n'inci-çocuk(çift):hover tda, tr:n'inci-çocuk(çift): aktif td a (renk: #eee; ) th ( görüntü:yok; ) td ( yükseklik:20px; dolgu:20px 10px 10px 20px; kenar boşluğu:0; ) td:nth-child(1)( genişlik:16px; ) saat ( görüntü:yok; ) .açıklama kenar boşluğu:0;sağ dolgu:15 piksel;metin hizalama:sol;

Bu, alt öğelere stil vermenizi sağlayan CSS sözde sınıfı: nth-child() anlamına gelir. Tablo satırlarını manuel olarak işaretlemek için. Vityag sözde sınıfı tanımlayacak:

Öğe: n'inci çocuk(tek | çift | |) (...)

garip- Tüm eşleştirilmemiş eleman numaraları
eşit- Bütün erkeklerin element numaraları vardır
sayı- Çocuk elemanın seri numarası babasına benzer. Numaralandırma listenin ilk elemanı olan 1'den başlar.
viraz- An+b olarak ayarlanır; burada a ve b tam sayılardır ve n, otomatik olarak 0, 1, 2... değerlerini üreten bir doktordur.

Yakşço A bir sıfır, o zaman yazılmaz ve giriş şu şekilde kısaltılır: B. Yakşço B bir sıfır, bu da belirtilmez ve forma kaydedilir BİR. Aі B negatif sayılar olabilir; bu durumda artı işareti eksi işaretine dönüşür, örneğin: 5n-1.

Apt.appdb.ru'dan alınan XHTML ve CSS dosyaları örneği.

Sonuç olarak, dosyaların listesini görebilirsiniz:

Son güncelleme: 29.11.2019

MVC modelinin temel bileşenlerinden biri modellerdir. Modellerin anahtarı, analiz edilen verilerin yapısının ve mantığının tanımlanmasıdır.

Kural olarak incelenen tüm varlıklar ayrıca deri varlığının yapısını tanımlayan bir modelde de görülür. Konu alanını dikkatlice belirleyerek uygulamadaki model çeşitliliğini görebiliriz.

Tüm modeller, C#'ın birincil sınıfları olan birincil POCO sınıfları (düz eski CRL nesneleri) olarak tasarlanmıştır. Örneğin, çevrimiçi bir mağaza için bir eklenti kullandığımızda cep telefonları, o zaman projeye telefonu temsil eden yeni bir modeli dahil edebiliriz:

Genel sınıf Telefon (public int Id (get; set;) public string Ad (get; set;) public string Şirket (get; set;) public int Fiyat (get; set;))

Telefon modeli düşük güç anlamına gelir: benzersiz bir tanımlayıcı kimlik, isim, üretici firma ve fiyat. Bu klasik anemik modeli. Anemik modelin hiçbir davranışı yoktur ve güç tasarrufu sağlar.

Ancak model otoriteler olmadan mutlaka gelişemez. Ek olarak, standart bir C# sınıfını temsil etmek için hangi yöntem, alan vb. olursa olsun bir yapıcı kullanabilirsiniz. Davranışı da gösteren modeller, anemik modellerin aksine "kalın" modeller olarak adlandırılır (Zengin Etki Alanı Modeli/Yağ Modeli/Kalın Model). Örneğin anemik modeli şu şekilde değiştirerek kullanabiliriz:

Genel sınıf Telefon ( özel ondalık _discount = 0; genel Telefon (ondalık indirim) ( this._discount = indirim; ) public int Id ( get; set; ) public string Ad ( get; set; ) public string Şirket ( get; set; ) genel ondalık Fiyat ( get; set; ) genel ondalık GetPriceWithDiscount() ( return this.Price - (this.Price * this._discount); ) )

Tanımlanan verilerden önce bizim için ne ifade edildiğini hatırlamadan, hiçbir tartışmaya girmeden özü tanımlamanın en iyi yolu nedir? İlk model, tekdüzelik ilkesine tabi olarak yalnızca tek bir özü tanımlamalıdır.

ASP.NET MVC Core'da modeller adım adım birkaç gruba ayrılabilir:

    Nesneleri özel veri depolarında saklanan modeller (örneğin veritabanları, xml dosyaları vb.)

    Veriden veri aktarmak veya veriden veri çıkarmak için kullanılan modeller. Bu modellere aynı zamanda denir. haraç modelleri

    Ara hesaplamalar için ek modeller

Kural olarak, modelleri kaydetmek için projeye yönelik bir Modeller klasörü oluşturulur. Görünüm modelleri genellikle ViewModels adı verilen ayrı bir klasöre yerleştirilir. Aslında farklı isimlere sahip kataloglar olabilir, modelleri projenin köküne yerleştirebilirsiniz veya en genel tarzda Modeller ve ViewModels adlarını verebilirsiniz.

Örnek olarak Web Application platformunda (Model-View-Controller) yeni bir ASP.NET Core projesi oluşturuyoruz. Programdaki hatalar hakkındaki bilgileri görüntülemek için kullanılan bir model olan ErrorViewModel sınıfının atandığı Modeller klasörünü zaten yerleştirmelisiniz.

Şimdi yeni sınıfın Company klasörünü bu klasöre ekleyeceğim:

Genel sınıf Şirket ( public int Id ( get; set; ) public string Ad ( get; set; ) public string Ülke ( get; set; ))

Ayrıca Modeller klasörü sınıfı Telefon'a da eklendi

Genel sınıf Telefon (public int Id (get; set;) public string Ad (get; set;) public Şirket Üreticisi (get; set;) public ondalık Fiyat (get; set;))

Bu modeller üzerinde çalışacağımız verileri tanımlayacaktır. Bu veriler bir veritabanında saklanabilir veya basitlik açısından kontrol cihazında saklanabilir. Gelecekte değiştirilebilir kontrolör HomeController:

System.Collections.Generic'in Kullanımı; Microsoft.AspNetCore.Mvc kullanarak; ModelsApp.Models'ı kullanarak; // model ad alanı ad alanı ModelsApp.Controllers ( genel sınıf HomeController: Controller ( Liste Telefonlar; Public HomeController() ( Şirket apple = Yeni Şirket ( Kimlik = 1, Ad = "Apple", Ülke = "ABD"); Şirket microsoft = Yeni Şirket ( Kimlik = 2, Ad = "Samsung", Ülke = "Kore Cumhuriyeti) " ) );Şirket google = yeni Şirket ( Kimlik = 3, Ad = "Google", Ülke = "ABD" ); ( yeni Telefon ( Kimlik = 1, Üretici = apple, İsim = "iPhone X", Fiyat = 56000), yeni Telefon ( Kimlik = 2, Üretici = apple, İsim = "iPhone XZ", Fiyat = 41000), yeni Telefon ( Kimlik = 3, Üretici = microsoft, Ad = "Galaxy 9", Fiyat = 9000), yeni Telefon ( Kimlik = 4, Üretici = microsoft, Ad = "Galaxy 10", Fiyat = 40000), yeni Telefon ( Kimlik = 5, Üretici = google, Ad = "Pixel 2", Fiyat = 30000), yeni Telefon (Id = 6, Üretici = google, Ad = "Pixel XL", Fiyat = 50000)); ) Public IActionResult Index() ( return View(telefonlar); ) ))

Model nesnelerinin listesi operatöre ek View() yöntemi aracılığıyla iletilir.

Ve prensip olarak tezahürler değişebilir Index.cshtml, böylece tüm nesneleri görüntülüyoruz:

@using ModelsApp.Models @model IEnumerable @( ViewData["Başlık"] = "Ana Sayfa"; )

@foreach (Modelde Telefon p) ( }
@p.Name@p.Üretici?.Ad@p.Fiyat

Ve web sitesi programını açtığınızda modellerin bir listesini göreceksiniz.

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

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

2 milyondan fazla alan adı hizmette.

Teslimat, etki alanı için posta, iş için çözüm.

700 binin üzerinde. Dünyanın her yerindeki müşteriler zaten seçimini yapmış durumda.

*Kaydırmayı azaltmak için fare imlecinizi hareket ettirin.

İleri geri

Ek PHP yardımı için klasörlerin listesini bulun

PHP kullanarak dizinleri listelemek veya dizinleri listelemek

Dizin listeleme, bir ana dizinin tüm veya diğer dosyalarının ve dizinlerinin bir listesini oluşturan resmi bir form olarak adlandırdığımız şeydir; robot işlemine benzer bir işlem dizin sayfası daha fazla web sunucusunun desteklenmesini sağlayacak ve ayrıca hakkında içeriği ve formatı üzerinde daha fazla kontrol.

Bu betiğin bir diğer avantajı da şarkıları PHP tarafından oluşturulan dosyalarla birleştirme yeteneğidir. Her durumda yapmamız gereken ilk adım dosya sistemini açmak, dosya ve dizin listesini döndürmektir.

Aşağıda sunulan işlevler, dosya adlarını ve diğer yetkilileri tek bir dizinden güvenli bir şekilde almanıza veya alt kategoriler arasında yinelemeli olarak gezinmenize olanak tanır.

Not: PHP5'in bir işlevi var tarama dizini"bir dizinin ortasındaki dosya ve dizinlerin listesini belirli bir yola göre döndürür" ancak dizinin ortasında bulunan dosyalar hakkında herhangi bir ek bilgi görüntülemez.

Bir dizinin listelenmesi

Yeni başlayanlar için bu, dosyaların, dizinlerin ve bunların özelliklerinin listesini tek bir dizine döndüren basit bir işlevdir (bu işlevin ayrıntılı bir sürümünü aşağıdaki eğitimde bulacaksınız).

read())) ( // alınan dosyaları atlayın if($entry == "."") devam edin; if(is_dir("$dir$entry")) ( $retval = array("name" => "$dir $ giriş/", "boyut" => 0, "lastmod" => filemtime("$dir$entry")); ) elseif(is_readable("$dir$entry")) ( $retval = array("name" = > "$dir$entry", "size" => dosya boyutu("$dir$entry"), "lastmod" => filemtime("$dir$entry")); ) ) $d->close(); $geri dönüş; ) ?>

Bu işlevi aşağıdaki gibi kullanabilirsiniz:

Değer, dosyanın yolları, son değişikliğin boyutu ve tarihi ile ilgili bilgilerin yanı sıra dosya bir dizin ise, bu durumda "(dir) satırı hakkında bilgileri içeren ilişkisel bir dosya dizisi tarafından döndürülür. " belirir. Bu, dosya boyutudur.

Popo 1:

"print_r($dizinlistesi)""; /* video butt Dizi ( => Dizi ( => resimler/background0.jpg => resim/jpeg => 86920 => 1077461701) => ...) */ ?>

Popo 2:

"print_r($dizinlistesi)""; /* butt view Dizi ( => Dizi ( => ./images/background0.jpg => image/jpeg => 86920 => 1077461701) => ...) */ ?>

HTML aracılığıyla dosyaların listesini görüntüleme

Sayfada görüntülenen sonuçları HTML olarak çıkarmak için bir döngü boyunca dönen diziyi kaydırırız

\n"; yankı " İsimTipBoyutSon Mod.\n"; foreach($dirlist as $dosya) ( echo " \n"; yankı " ($dosya["isim"])\n"; yankı " ($dosya["tür"])\n"; yankı " ($dosya["boyut"])\n"; yankı " \n"; yankı "\n"; ) yankı "\n\n"; ?>

Bu kod basitçe değiştirilebilir, örneğin:

  • - Listelemenin sonuçlarını tablo yerine listeye girin;
  • - Aktif dosyaların adlarını bulun;
  • - dosya türünü belirtmek için adları simgelerle değiştirin;
  • vesaire.

Örneğin, yalnızca PNG dosyalarını görüntülemek için işleme döngüsüne basit bir satır ekleyin:

\n"; yankı " İsimTipBoyutSon Mod.\n"; foreach($dirlist as $file) ( //dosyanın PNG'ye ait olup olmadığını kontrol edin if(!preg_match("/\.png$/", $file["name"])) devam et; echo " \n"; yankı " ($dosya["isim"])\n"; yankı " ($dosya["tür"])\n"; yankı " ($dosya["boyut"])\n"; yankı " ",tarih("r", $dosya["sonmod"]),"\n"; yankı "\n"; ) yankı "\n\n"; ?>

Hangi uygulama, adları ile biten tüm dosyaları atlayacak ve alacaktır? .png. Ayrıca dosya türüne, boyutuna veya son değiştirilme tarihine göre ek seçenekler de belirleyebilirsiniz.

Örneğin, küçük resmi görüntülemek, daha büyük resimler göndermek veya bir video yayınlamak istiyorsanız, bu 2 dosyaya aynı adı verin ve komut dosyasında doğru olanı kullanın. str_değiştir Veya işlevin göndermek yerine değiştirmek olduğunu düşünüyorum.

Özyinelemeli dizin listesi

Artık buraya kadar geldiğimize göre özyinelemeli liste ve alt kategori işlevlerinde bazı küçük değişiklikler olacak. Fonksiyona bir parametre daha ekleyerek tek bir dizini listelemenin ileri fonksiyonunu kaydetmiş oluyoruz.

read())) ( // alınan dosyaları atlayın if($entry == "."") devam edin; if(is_dir("$dir$entry")) ( $retval = array("name" => "$dir $ giriş/", "boyut" => 0, "lastmod" => filemtime("$dir$entry")); retval, getFileList("$dir$entry/", true)); ) ) elseif(is_readable( " $dir$entry")) ( $retval = array("name" => "$dir$entry", "size " => dosya boyutu("$dir$entry"), "lastmod" => filemtime("$ dir $giriş")); ) ) $d->close(); $geri dönüş; ) ?>

Yeni işlevsellik istemek için bir değer girmeniz gerekir doğru(veya 1) veya başka bir parametre.

Komut dosyasını yinelemeden önce alt dizinlerin okunabilir olduğundan emin olun ve erişim kısıtlamalarından kaçınmak için bu dersin geri kalanını okuyun.

Daha önce olduğu gibi, dönen değer bir dizidir, ilişkisel bir dizidir. Aslında yalnızca bir ek seçenek vardır; özyinelemeli listeleme için bir ek seçenek daha vardır.

Özyineleme derinliğinin sınırlandırılması

Bu son nokta bir güç daha ekler; özyineleme "derinlemesine" gerçekleşebildiğinden anlamın önemi. Önceki kod, kötü koku bitene kadar dizin katkılarını izlemeye devam edecektir. Bu komut dosyası, bir dizi farklı dizin girişi için bir değişim ayarlamanıza yardımcı olacaktır.

read())) ( // alınan dosyaları atlayın if($entry == "."") devam edin; if(is_dir("$dir$entry")) ( $retval = array("name" => "$dir $ giriş/", "boyut" => 0, "lastmod" => filemtime("$dir$giriş")); = false) ( $retval = array_merge($retval, getFileList("$dir$giriş/", true )); ) elseif($derinlik > 0) ( $retval = array_merge($retval, getFileList("$dir$giriş /", true, $derinlik-1)); ) )) ) elseif(is_readable("$dir) $ giriş")) ( $retval = array("isim" => "$dir$giriş", "boyut" => dosya boyutu("$dir$giriş"), "sonmod" => filemtime("$dir$giriş) " )); )) $d->close(); $geri dönüş; ) ?>

Daha önce olduğu gibi sadece 1 ekledik yeni parametre bu sayıda kod satırı. Özyinelemenin derinliğini gösteren özyineleme değeri belirtilmediğinden, YANLIŞ. Bu, işlev değiştirildiğinde önceki özelliklerin kaybolduğundan ve mevcut kodun "bozulmadığından" emin olmamızı sağlar.