Dinamik bir php nasıl yapılır. PHP'de Dinamik Sayfalar

Herhangi bir karmaşıklıkta gelecek vaat eden, genişletilebilir ve etkili bir site oluşturmak için basit bir siteyle başlamalısınız. Bu işlem kolay değil, belirli temel PHP ve MySQL bilgisi gerektiriyor, ancak tek tek bakarsanız, yeni siteler oluştururken kullanışlı olacak bir tür “çalışma planı” oluşturabilirsiniz. Proje için "çekirdeği" ve temeli hazırlayalım. İlk başta normal bir kartvizit sitesi olacak, ancak daha sonra işlevsellik ekleyerek her şeye dönüştürülebilir. Öyleyse başlayalım.

1. Veritabanı hazırlığı. MySQL veritabanında ilk tabloyu oluşturun

Yeni bir veritabanı oluşturun, örneğin "sitem". Şahsen ben UTF-8 kodlaması ile çalışmaya alışığım, bu yüzden hemen bir rezervasyon yapacağım: sitenin tüm metin dosyalarının, veritabanının kendisinin, tabloların ve tablo alanlarının aynı kodlamada olduğundan emin olun.
Yeni bir veritabanında bir tablo oluşturun. Buna "sayfalar" diyelim. Bu tablo, gelecekteki sitenin statik sayfalarını ve bunlarla ilgili bilgileri saklayacaktır. Tablo aşağıdaki alanları içermelidir:

  • page_id - sayfa kimliği (SMALLINT, birincil anahtar, auto_increment);
  • page_alias - CNC adres dizisi için sayfa takma adı (VARCHAR, 255);
  • page_title - tarayıcı penceresindeki sayfanın başlığı (VARCHAR, 255);
  • page_meta_d - için sayfa meta açıklaması meta etiket açıklama(varchar, 255);
  • page_meta_k - meta anahtar kelimeler meta anahtar kelime etiketi için (VARCHAR, 255);
  • page_h1 - sayfa başlığı (VARCHAR, 255);
  • page_s_desc - Kısa Açıklama materyal, örneğin site materyalleri bir blog (METİN) biçiminde olacaksa;
  • page_content - sitenin orta sütununda görüntülenecek olan sayfanın ana metni (METİN);
  • page_publish - sayfa yayınlanıyorsa "Y" veya gizliyse "N" içerir (CHAR, varsayılan "Y"dir).

Tabloyu oluşturduktan hemen sonra, değerleri girin ana sayfa alan. Ana sayfanın "page_alias" alanına "home" değerini eklemenizi öneririm. Meta etiketler - tüm sitenin temasına göre. Aynı şekilde, örneğin "hakkında" takma adı ve kendi meta etiketleri ile "Şirket hakkında" veya "kişiler" takma adıyla "Kişiler" vb. gibi başka sayfalar oluşturabilirsiniz.

2. Bir site yapılandırma dosyası oluşturun

Sitenin bu aşamada boş olması gereken kök klasöründe bir “cfg” klasörü oluşturuyoruz, içinde .htaccess kullanarak “deny from all” yönergesi ile erişimi kapatıyoruz. Aşağıdaki içeriğe sahip bir core.php dosyası oluşturun:

// MySQL
sınıf MyDB
{
var $dblogin = "root"; // VERİTABANI GİRİŞİNİZ
var $dbpass = ""; // VERİTABANI ŞİFRENİZ
var $db = "sitem"; // SİTE ÜZERİNE ADI
var $dbhost="localhost";

var$bağlantı;
var$sorgu;
var $hata;
var $sonuç;
var$veri;
var $getir;

fonksiyon connect() (
$this->link = mysql_connect($this->dbhost, $this->dblogin, $this->dbpass);
mysql_select_db($bu->db);
mysql_query("İSİM AYARLA utf8");
}

işlev kapat() (
mysql_close($bu->bağlantı);
}

İşlev çalıştırma($sorgu) (
$bu->sorgu = $sorgu;
$bu->sonuç = mysql_query($bu->sorgu, $bu->bağlantı);
$bu->err = mysql_error();
}
işlev satırı() (
$bu->veri = mysql_fetch_assoc($bu->sonuç);
}
gidip getirmek() (
while ($this->data = mysql_fetch_assoc($this->result)) (
$bu->getir = $bu->veri;
$ this->getir döndür;
}
}
fonksiyon durdurma() (
unset($bu->veri);
unset($bu->sonuç);
unset($bu->getir);
unset($bu->hata);
unset($bu->sorgu);
}
}

Bu dosya şu anda yalnızca basit bir veritabanı bağlantı sınıfı içeriyor, ancak gelecekte ona site kodunun herhangi bir yerinden erişilebilecek çeşitli yararlı işlevler ekleyebilirsiniz. Veritabanınız için kullanıcı adınızı ve şifrenizi değiştirmeyi unutmayın.

Bir Windows ortamında çalışıyorsanız, . Bu düzenleyicide satır numaralandırma vardır ve metni bir kodlamadan diğerine kolayca çevirir. DİKKAT! UTF-8 kodlamasında çalışıyorsanız - dosyaları BOM olmadan UTF-8'e dönüştürün - bu, gelecekte sorunlardan kaçınmanıza yardımcı olacaktır.

3. index.php oluşturun - ana site denetleyicisi

Yapılandırma dosyası oluşturuldu. Şimdi sitenin kök klasöründe index.php oluşturuyoruz - bu sitenin ana betiği olacak, bir tür "ana denetleyici" olacak. index.php dosyasının içeriği:

define("INDEX", ""); // ANA KONTROLÖR SABİTİNİ AYARLA

Require_once($_SERVER."/cfg/core.php"); // ÇEKİRDEĞİ BAĞLAYIN

// DB'YE BAĞLAN
$db = yeni MyDB();
$db->bağlan();

// ANA KONTROLÖR
geçiş ($_GET) (
durum "sayfa":
include($_SERVER."/com/page.php");
kırmak;
varsayılan:
include($_SERVER."/com/home.php");
kırmak;
}

Dahil($_SERVER."/template.php");
$db->kapat();

$_GET değişkeni, ana denetleyiciye istek üzerine hangi site bileşeninin yükleneceğini söyleyecektir. Artık sitemizin yalnızca iki bileşeni vardır: “sayfa” ve “ana sayfa” (prensipte, normal bir sayfayı görüntülemek için tek bir bileşenle idare edebilirsiniz, ancak genellikle sitenin ana sayfasının görünümü, normal sayfalardan farklıdır. menü öğeleri). Ana denetleyicinin mantığı şu şekildedir: gerekli bileşenin adı ($option değişkeninin değeri), değerine bağlı olarak URL dizesinden çıkarılır, bileşenin dosyası dahil edilir (/ com klasörü). Bileşen dosyası gerekli tüm işleri yapar, veri tabanından veri alır ve tasarım şablonuna geçirilecek değişkenlere yazar. En sonunda, bileşenlerde çıkarılan tüm değişkenlerin ve verilerin aktarıldığı site tasarım dosyası bağlanır. Bu kulağa çalıştığından çok daha karmaşık geliyor.

4. Normal bir sayfa çıktı bileşeni oluşturun

Sitenin kökünde bir "com" klasörü oluşturun - bileşen dosyalarını depolayacaktır. Bir site bileşeni, benim anlayışıma göre, sitenin farklı bölümleri için verilerin işlendiği bir dosyadır. Örneğin, normal bir sayfanın bileşeni, veri tabanından materyalin başlığını, açıklamasını ve metnini alır ve bunları $title, $meta_d, $meta_k, $content, vb. değişkenlere yazar. tasarım şablonu (her bileşen için kendi tasarım şablonunuzu oluşturabilirsiniz) ve kullanıcıya bir HTML sayfası olarak gösterilir. Örneğin, gelecekte oluşturulabilecek bir katalog bileşeni hemen hemen aynı şeyi yapacaktır, ancak ürünlerle ilgili verilerle - ve kendi özellikleri, tabloda başka alanlar vb. vardır. Bu nedenle, sitenin her işlevsel bölümü için ayrı bir bileşen oluşturmaya değer. MVC (Model-View-Controller) şemasında, bileşen bir modelin rolünü oynar.

"com" klasöründe bir "page.php" dosyası oluşturun. Dosyanın içeriği aşağıdaki gibidir:

/* SAYFA BİLEŞENİ */
$takma ad = $_GET;
$query = "SEÇ * sayfa_alias="".$alias."" AND page_publish="Y" LIMIT 1";
$db->run($sorgu);
$db->satır();
// BİLEŞEN DEĞİŞKENLERİ
$id = $db->veri;
$takma ad = $db->veri;
$başlık = $db->veri;
$h1 = $db->veri;
$meta_d = $db->veri;
$meta_k = $db->veri;
$s_desc = $db->veri;
$bileşen = $db->veri;
// SAYFA YOKSA
if (!$id) (
header("HTTP/1.1 404 Bulunamadı");
$bileşen = "HATA 404! Bu sayfa mevcut değil";
}
$db->dur();

5. Ana Sayfa Görüntüleme Bileşenini Oluşturun

Veritabanımızdaki ana sayfa "ev" takma adı altında saklanır ve şimdiye kadar yapısında sitenin normal sayfalarından farklı değildir - bu sadece bir makaledir. Bununla birlikte, bunun için ayrı bir bileşen oluşturacağız - tabiri caizse gelecek için.


"com" klasöründeki "home.php" bileşeninin içeriği, veritabanına sorgu dizesi ve bileşenin adı dışında, normal sayfa bileşeninin içeriğiyle hemen hemen aynıdır. Sorgu dizesi şimdi şöyle görünür:

$query = "SEÇ * wx_pages NEREDE page_alias="home" LIMIT 1";

6. Tüm site için bir tasarım şablonu oluşturun

Sitenin kök dizininde bir template.php dosyası oluşturun. Aslında bu HTML + CSS formatında normal bir web tasarım düzenidir, sadece PHP değişkenleri doğru yerlerde bulunur. Başlık etiketleri arasına ekle, site ekinin orta sütunundave böylece şablon boyunca, bileşenlerde bildirilen gerekli değişkenleri yerleştiririz.

Kök klasörde ayrıca tasarım öğeleri için "css" ve "images" klasörleri bulunmalıdır. /css/style.css dosyasında - stilleri beğeninize göre özelleştirebilirsiniz.

7. Bağlantıları ve .htaccess dosyasını temizleyin

Temiz bağlantılar oluşturmak için, adres çubuğunu denetleyiciyi kullanarak ayrıştırmak gereksiz işlevsellik olarak kabul edildiğinden, her bileşen için ayrı ayrı kurallar için doğrudan talimatlar içeren mod_rewrite kullanıyorum. Bu aşamada .htaccess içeriği:


Motoru Yeniden Yaz
Yeniden Yazma Tabanı /

RewriteCond %(REQUEST_FILENAME) !-d
RewriteCond %(REQUEST_FILENAME) !-f

# YASAK DOSYALAR
RewriteRule .htaccess - [F]
RewriteRule template.php - [F]

# mod_yeniden yazma KURALLARI
RewriteRule sayfası/(+)([\/](0,1))\.htm$ index.php?option=page&alias=1$ [L]

Gelecekte, arama bileşenleri, katalog, makaleler blogu vb. için kurallar ekleyeceğiz. Tek bir nokta var: "sitem.com/index.php?option=pages&alias=about" gibi bağlantıları "sitem.com/pages/about.htm" gibi bir bağlantıya dönüştürmek - oldukça hoş görünüyor. Geliştirme aşamasında, güvenlik nedenleriyle $_GET dizisinden kaçınmaya çalışın ve ona güvenmeyin. Yalnızca ana denetleyici ($option değişkeni) ve içindeki bileşen ($alias değişkeni) için parametrelerin saklanması önerilir.

Ayrıca, sitenin her klasöründe “her ihtimale karşı” boş bir index.html dosyası oluşturun - bu, dizine adres çubuğundan erişirken hiçbir şeyin görüntülenmemesi için gereklidir.

Etiketler: php, mysql, site motoru, controller, site oluşturma, mvc

sadece konuştuk statik sayfalar, yani, kullanıcı onlarla nasıl etkileşime girerse girsin, her zaman değişmeden kalanlar ve içeriklerinin veya tasarımlarının değişmesi için sayfa sahibinin kodu manuel olarak düzenlemesi gerekir.

Dinamik sayfalar ve ihtiyaçları

Statik sayfalara ek olarak dinamik sayfalar da vardır. Çoğu artık internette. Bilgiler şuradan yüklenir: dış kaynaklar, bir veritabanı veya diğer dosyalar gibi. Bu tür sayfaların içeriği ve formatı, kullanıcının eylemlerine bağlı olarak değişebilir. Dinamik siteleri düzenlemek için, kodlarına müdahale etmek gerekli değildir - bu arada, aynı zamanda yalnızca belirli bir şekilde yapılandırılmış bir dosya olan özel olarak tasarlanmış bir dosya veya veritabanındaki içeriği değiştirmek yeterlidir.

Dinamik web siteleri oluşturmak için sadece HTML ve CSS yeterli değildir. Ayrıca programlama dillerinin yanı sıra onlar için veritabanları ve sorgulama dilleri kullanır. Çoğu zaman, modern dinamik siteler kendi alanlarında kullanılır. HTML çalışması, CSS, PHP, JavaScript, SQL. İlk iki kısaltma zaten size tanıdık geliyor, SQL veritabanlarına erişmek için kullanılıyor, JavaScript komutları tarayıcı tarafından işlenen ve genellikle perdeler veya sorunsuz açılan fotoğraflar gibi her türlü güzelliği göstermek için kullanılan istemci tarafı bir dildir, ancak PHP, diğer şeylerin yanı sıra site içeriği ile çalışan ve onu dinamik kılan sunucu taraflı bir programlama dilidir, bugün onunla temasa geçeceğiz.

include komutunun kullanımına bir örnek

Bir önceki yazımda sitenin blok düzeninden bahsetmiştim ve örnek olarak alıntı yapmıştım. en basit sayfa(belge index.html ve onunla ilişkili dosya stil.css).

Şimdi belgeyi böleceğiz index.html her biri sayfanın kendi bölümünü içerecek, kodu daha da ayırmaya, şablonun yapısını iyileştirmeye ve aslında sayfayı dinamik hale getirmeye yardımcı olacak birkaç dosyaya dönüştürün. Bu amaçla PHP dilini veya daha doğrusu yönergelerinden sadece birini kullanacağız - işlev Dahil etmek(), bir dosyayı diğerinin içinde içerir.

1. Blok düzeni ile ilgili makalede oluşturulan dosyanın iznini değiştirin dizinİle birlikte .htmlüzerinde .php belgeyi adlandırmak index.php. Dosya tipi .PHP sunucuya belgenin yazıldığını veya aynı adı taşıyan programlama dilinde ekler kullanıldığını belirtir.

2. Sayfanın bulunduğu klasörde bir dizin oluşturun bloklar.

3. Tüm destekleyici bilgiler (üst, alt, gezinme ve kenar çubuğu site) klasöre yerleştireceğimiz ayrı dosyalara çıkaracağız bloklar.

Bu nedenle, bloklar dizininde dört dosya oluşturun: başlık.php, navigasyon.php, kenar çubuğu.php ve altbilgi.php. Dosyaları kodla doldurun.

4. Şablon klasör yapısını kontrol edin. Dosyalar kökte olmalıdır index.php, stil.css ve dizin bloklar.

klasör yapısı bloklar böyle olmalı.

5. Dosyada index.php mevcut kodu silin ve yeni bir tane yazın:

Blok düzeni

Ana sayfa içeriği

Tarayıcıda index.php dosyası öncekiyle tamamen aynı görünüyor, ancak şablonun yapısı tamamen değişti. Neler olduğunu daha sonra konuşacağız ve şimdi formun gizemli komutlarıyla ilgili soruya cevap vereceğiz. .

HTML kodu gibi, PHP kodunun da kendi başlangıç ​​ve bitiş tanımı vardır. Bu nedenle, komutla bir PHP eki başlatmanız gerekir. , ve satırı ile bitirin ?> . Bu komutlar arasında ana kod yazılır. Bizim durumumuzda, bu sadece bir komuttur - Dahil etmek.

İşlev Dahil etmek() başka bir dosyadan dosyaya kod ekler, sayfanın farklı bölümlerini farklı belgelerde saklamayı mümkün kılar, böylece bunları birbirinden güvenilir bir şekilde ayırır.

Yapılan işlemler sonucunda dinamik bir sayfamız oldu. index.php, bölümleri farklı dosyalardan yüklenir. Bu sayede aynı şekilde klasör dosyalarından yardımcı elemanlar yükleyerek başka sayfalar oluşturabilirsiniz. bloklar.

Bu yaklaşım iyidir, çünkü 20-30 sayfalık bir sitedeki bir menü öğesinin adını değiştirmek istiyorsanız, daha sonra yeni oluşturulan bir yapıya sahip bir şablonda, yalnızca bir dosyada değişiklik yapmanız gerekecektir - bloklar /navigation.php ve menü, dahil olduğu tüm sayfalarda hemen değişecektir. Site statik olsaydı, bir menü öğesinin adını değiştirmek için, üzerinde değişiklik yapmanız gerekirdi. her 20-30 sayfa arası. Fark açıktır.

Son güncelleme: 1.11.2015

Şimdi, PHP ile çalışmaya dair bir ön anlayış kazandırmak için tasarlanmış küçük bir site oluşturacağız.

PHP'de programlar oluşturmak için bir metin düzenleyiciye ihtiyacımız var. Bugün en popüler program Notepad++.

Şimdi, sitenin tüm belgelerini depolayacak olan önceden oluşturulmuş C:\localhost dizinine geçelim. hadi oluşturalım Metin dosyası ve diyelim index.html. içinde açalım Metin düzeltici ve buna aşağıdaki kodu ekleyin:

PHP'deki ilk site

Bilgilerinizi girin:

Adınızı giriniz:

Soy adını gir:

Html kodu, iki içeren bir form içerir. metin alanları. Butona tıklandığında, action özniteliğinde belirtildiği gibi form verileri display.php betiğine gönderilir.

Şimdi verileri işleyecek bu scripti oluşturalım. Klasöre ekle c:\yerel ana bilgisayar yeni metin dosyası. Şimdi display.php olarak yeniden adlandıralım. Varsayılan olarak, php program dosyalarının uzantısı vardır. .php. O halde display.php dosyasına aşağıdaki kodu ekleyelim:

PHP'deki ilk site ".$ad ." " . $soyad .""; ?>

Burada zaten html işaretlemesinde PHP kodu lekeleri var. Etiketler, bir sayfaya PHP ifadeleri eklemek için kullanılır, aralarında talimatlar bulunan PHP dili. AT php kodu form verilerini alıyoruz ve sayfada görüntülüyoruz.

Her bir PHP ifadesi noktalı virgülle bitmelidir. AT bu durumüç ifademiz var. Bunlardan ikisi gönderilen form verilerini alır, örneğin $name = $_POST["firstname"]; .

$name, bir miktar değeri tutacak bir değişkendir. PHP'deki tüm değişkenlerin önünde bir $ işareti bulunur. Ve index.html sayfasındaki form göndermek için POST yöntemini kullandığından, metin alanına name="firstname" özniteliği ile girilen değeri almak için $_POST["firstname"] ifadesini kullanabiliriz. Ve bu değer $name değişkenine girer.

Echo deyimi ile deyimden sonra gelen herhangi bir değeri veya metni sayfada görüntüleyebilirsiniz. Bu durumda (echo "Adınız: ".$ad ." " . $soyad .""), bir nokta kullanılarak, alıntılanan metin $name ve $surname değişkenlerinin değerleriyle birleştirilir ve sayfada görüntülenir.

Şimdi adrese giderek giriş formuna dönelim http://localhost:8080:

Bazı verileri girin ve gönder düğmesine tıklayın:

Yani, senaryo bizim için çalıştı display.php, gönderilen verileri sayfada alan ve görüntüleyen.

Önlemler alınmalıdır. Çünkü kaynak son derece dinamik olabilir. Bu ve bak, ısır!

PHP ve HTML

Şimdi bu iki disiplin neredeyse birbirine bağlı. Tandemleri, İnternet'in çoğunun "hayatının" inşa edildiği temeldir. Elbette diğer sunucu taraflı diller de (Perl, ASP.NET) html ile birlikte kullanılmaktadır. Ancak, PHP ile karşılaştırıldığında World Wide Web'deki yaygınlıkları tamamen epizodiktir.

İstatistiklere göre, İnternet'teki çoğu kaynağın mimarisi php ve html temelinde inşa edilmiştir.


Birçok yeni başlayan için bu teknolojiler arasındaki ilişki anlaşılmaz görünüyor. Bir yandan, istemci tarafında tarayıcılar tarafından yorumlanan statik html. Öte yandan, sunucuda işlenen bir programlama dilidir. Bu nedenle sıfırdan php ile bir site yazmadan önce bu iki teknolojinin etkileşimine basit bir örnek vereceğiz:

  • php uzantılı yeni bir dosya oluşturalım;
  • Şu kodu oraya koyalım:

Başlıksız web sayfası Şu an saat kaç?

Ekran görüntüsünde görebileceğiniz gibi, satırsayfanın html kodunda görüntülenmiyor. Hem tarayıcıda hem de kodda yalnızca döndürülen tarih ve saat görünür. Bu, betiğin sunucu tarafında işlendiği anlamına gelir. Bu nedenle, php'de bir site oluşturmak, basit html sayfaları yazmaktan temel olarak farklıdır.

dinamik site

Bugün iki ana web sitesi türü vardır:

  • Statik - yalnızca üzerinde oluşturuldu html tabanlı. Bu tür siteler, kullanıcı eylemlerine yanıt olarak içeriklerini değiştirmez. Elbette, statik bir kaynak, olaylara ve kullanıcı eylemlerine yanıt verebilir. Ancak sayfa dinamizminin istemci tarafında uygulanması, Java Script'in yetenekleriyle sınırlı olan dar bir kapsama sahiptir.

Java Script kodu, istemci tarafında tarayıcıda çalışır.

  • Dinamik - durumlarını ve içeriklerini değiştirebilen - dinamik sitelerin html sayfaları, tarayıcıdan sunucuya gönderilen bir kullanıcı isteğine yanıt olarak kod yürütme sırasında anında oluşturulur. Çoğu zaman, sunucu tarafında sayfa oluşturma, php ile yazılmış kod kullanılarak gerçekleşir.

Dinamik bir php sitesi aşağıdaki dosyalardan oluşur:

  • index.php ana proje dosyasıdır;
  • Şablonlar - sayfanın belirli bir bölümünün yapısını içerir ( kapaklar, bodrum, ana gövde);
  • CSS dosyaları - kaynağın tüm stil açıklamalarını saklayın.

Ayrıca site projesi, php fonksiyon ve metotlarının kodunu saklayan dosyalardan oluşabilir. Ve ayrıca bir veritabanı içerir.

Çoğu CMS'de, sunucu tarafında dinamik olarak oluşturulan sayfaları doldurmak için içerik kaynağı veritabanıdır. En yaygın kullanılan veritabanı MySQL'dir.

PHP'de bir web sitesi nasıl yazılır

Bir sitenin php'de nasıl oluşturulduğunu anlamak için şunu düşünün: pratik örnek. Tabii ki, çoğu basitleştirilmiştir, ancak tüm çalışma mekanizması ve yaratma aşamaları korunmuştur.

Aşağıdaki yapıya ve tasarıma sahip bir html sitem var:

Onun kodu:

PHP sitesi örneği

Şapka

İçerik

style.css dosya kodu:

Üstbilgi ( sol kenar boşluğu:oto; kenar boşluğu:oto; kenar boşluğu:10 piksel; genişlik:1000 piksel; yükseklik:100 piksel; kenarlık:1 piksel katı #000000; arka plan: #009966; arka plan resmi: url(img/1. gif); ) .pages ( kenar-sol:oto; kenar-sağ:oto; genişlik:1000 piksel; ) .content ( sağ kenar boşluğu:10px; genişlik:806px; yükseklik:450px; kenarlık:1px düz #000000; arka plan: #999999; float:left; ) .sidebar ( width:180px; height:450px; border:1px solid #000000; background: #FF9900; float:left; ) .foot ( clear:both; ) .footer ( margin-top :10px; sol kenar boşluğu:oto; kenar boşluğu:oto; genişlik:1000 piksel; yükseklik:50 piksel; kenarlık:1 piksel katı #000000; arka plan: #333399; )

Bir siteyi sonuna kadar php ile yazmadan önce, tüm html kodunun birkaç dosyaya yayılması gerekir:

  • Header.php, "header" katmanının başından sonuna kadar tüm kodu içerecektir;
  • Footer.php'de - "foot" ve "footer" katmanları;
  • content.php'de - ortada kalan tüm kodlar.

Şimdi, gerekli tasarım öğelerinin kodunu içeren dosya çağrılarını içeren ana index.php sayfasını oluşturuyoruz. Toplamda, ana dosyada komut dosyasının yalnızca 3 satırı vardı:

Ve eğer bakarsan html tarayıcısı sayfa kodu, orijinal kaynak kodunu göreceksiniz:

Elbette bu seçenek sadece sitenin ana sayfasını oluşturmak için uygundur. Ancak kenar çubuğu kodu ayrı bir dosyada kaldırılırsa, şablon oluşturmak için de kullanılabilir. iç sayfalar alan.

dolambaçlı yol

Ancak böyle bir site geliştirme çaba gerektirir, özel bir yazılım ve bilgi. Bu nedenle, daha kolay bir seçenek bulmak istiyorum. O zaman PHP site oluşturucuyu kullanmalısınız.

Geniş bir ayar aralığına sahip belirli bir şablon kümesidir. Geleneksel CMS'ye çok benzer oldukları için. Elbette, hiç kimse gelecekteki sitenin tasarımının yüksek benzersizliğini garanti etmez ve gelecekte kaynağın başka bir barındırma sitesine veya platformuna aktarılması ve uyarlanmasıyla ilgili sorunlar olabilir. İşte bu tür çevrimiçi hizmetler için kanıtlanmış bazı seçenekler.

Dinamik bir PHP sitesinin en basit örneği, ilk bakışta göründüğünden daha kolaydır.

Bu örnek şablon MSQL veritabanları olmadan çalışır, ancak buna geliştirme sürecinde karar verilir ve bu aşamada her şey HTML ve PHP ile yazılır. Gelecekte, daha karmaşık bir şablon örneği gösterilecektir, ancak şimdilik harika bir site oluşturmak için oldukça yeterli olan basit bir şablona odaklanacağız.

Sipariş vermek için bir site oluşturmanız ve tanıtmanız gerekiyorsa, güvenilir bir web sitesi tanıtım stüdyosu ile iletişime geçmelisiniz.

İlk olarak, son derste açıklanan ve bu projenin temeli üzerine inşa edilecek olan basit bir html sitesinden dinamiklerdeki farklılıkları öğrenmeniz ve anlamanız gerekir. Bu yüzden çalışmanız tavsiye edilir, o zaman bu makaleyi anlamak çok kolay olacaktır.

Ve basit bir siteden farkı tam olarak hizmet hızında yatmaktadır! Kim zaten aşina basit HTML site, banner'ı değiştirmek için siteyi tamamen kürek çekmeniz gerektiğini biliyor, her sayfada... Bu çok zaman alıyor. Ve dinamikte - sitenin kaç sayfası olursa olsun, en az 1000 her şey birkaç dakika içinde yapılabilir, bu düzenleme süresini etkilemez! Sanırım bu bile bu örneği incelemek için yeterli!

Örneğin, etiketi kullanılarak yazılmış bir site şablonu alınacaktır.

Ve böylece, ayrı dosyalar halinde keseceğimiz normal bir şablon sayfası örneğine bakın.


































- bir kesinti olacak ve içerik olacak ayrı dosya



site içeriği





- aşağıdaki her şey ayrıca ayrı bir dosya olacak -

















güzel ekle
web sitesi menüsü






































HTML şablonunu PHP bloklarına ayırma.

İlk dosya, bloğun açılmasına kadar sitenin tüm başlığını içerecektir.

ve başlık olarak adlandırılacak ve tabii ki php uzantısıyla !!!


































Ve dosya adı header.php olacaktır.


İkinci dosya, sitenin tüm içeriğini içeren ana dosya olacaktır - gelecekte değişmeyecek veya çok nadiren içerik. Bir makale genellikle bir kez yayınlanır ve bir sayfada yapılan değişiklikler zahmetli değildir. Tasarımdan sorumlu dosyaların geri kalanı ona bağlanacaktır. Ve örneğin - title.php olarak adlandırılacaktır.



site içeriği



- burada bir kesim olacak, içerik de ayrı bir dosya olacak -



Ve dosya adı title.php olacak


Diğer her şey - sol kenar çubuğunun bloğu ve altbilgi, üçüncü dosyaya dönüşürüz - footer.php.




- aşağıdaki her şey ayrıca ayrı bir dosya olacak -

















güzel ekle
web sitesi menüsü






































ve dosya adı footer.php olacaktır


Artık sitemizi bir kurucu gibi oluşturmaya başlayabilir ve dinamik bir site oluşturmanın tüm sırlarını anlayabilirsiniz. Bunu yapmak için, tasarımdan sorumlu olan ve sol kenar çubuğunu içeren ana dosyaya iki dosya bağlamanız gerekir. İşte bu noktada temel PHP bilgisine ihtiyacımız var, bu olmadan hiçbir şey işe yaramaz. Ve bunun için zaten bildiğimiz require işlevini kullanmamız gerekiyor.




- header.php dosyasının bağlantısı



site içeriği








- footer.php dosyasının bağlantısı


Ve işte sayfamız! ANCAK verilen dosya- title.php, yeni sayfaların oluşturulduğu şablon olacaktır.
Ve adı index.php olacak ana olanı yaratacağız. Bunu yapmak için, sadece title.php dosyasını kopyalayın ve aynı klasöre kaydederken index.php adını verin. Ve aynı prensiple tüm yeni sayfalar oluşturulur. Sadece dolgu mükemmel olacak, diğer her şey onlar için ortak olacak ve anında değişikliklere teslim olmak kolay olacak !!!

Ve php dosyalarınızı hangi program açarsa açsın, sayfaları dönüştürmek için çok uygun olan PHP Expert Editor programını kurdum, resimdeki gibi çıkmalı. İki gerekli dosya ve üç sayfa.

Ardından, sitenizden ne istediğinize bağlı olarak değişikliklerinizi ekleyebilirsiniz. Örneğin, her sayfanın başlığını ayrı ayrı görüntüleyecek bir değişken girerseniz,
daha sonra bu kodu header.php dosyasına eklemeniz gerekir.




<?php echo «$title»; ?>


Ve şablona, ​​doğru için gerekli olan kendi benzersiz sayfa adını içerecek bir kod ekleyin.






$title ='Dinamik bir PHP sitesi örneği. ';


'header.php' gerektirir;


?>



site içeriği



Buraya her şeyi yazabilir ve herhangi bir bilgiyi ekleyebilirsiniz,


ziyaretçiye yöneliktir.






bir tanesine dikkatinizi çekmek istiyorum önemli nokta. Bu, herhangi bir karmaşıklıktaki bir sitenin geliştirilmesi için geçerlidir - yeni bir proje oluşturmadan önce, projenin gelecekteki tüm işlevlerini çok dikkatli ve net bir şekilde tanımlayın. Örneğin, bir blog varsa, o zaman bir yorum bloğuna ihtiyacınız vardır ve bunun için sayfanın benzersiz adresini vb. belirleyecek bir değişken girmeniz gerekir. Tek kelimeyle - önce geneli düşünmeniz gerekiyor ..., çünkü sonra - düzeltilmesi çok uzun ve acı verici olacak birçok kusur olacak ve bu tavsiye hem basit siteler hem de bir süper üzerine inşa edilmiş karmaşık projeler için geçerlidir. yeni motor!