Deyimsel PHP web sayfası oluşturma

6 Cevap php

Benim PHP deneyimi oldukça sınırlıdır. Ben sadece bana tuhaf görünüyor bazı şeyler miras ettik, ve ben bu şeyler yapmak için standart bir yol olup olmadığını bilmek istiyorum. Tarayıcı konuma (örneğin, www.example.com / example_page) kadar gösterir sayfasında böyle bir şey vardır:

<?
$title = "Page Title";
$meta = "Some metadata";
require("pageheader.inc");
?>
<!-- Content -->

Sonra pageheader.inc gibi şeyler vardır:

<?
@$title = ($title) ? $title : "";
@$meta = ($meta) ? $meta : "";
?>
<html>
<head>
<title><?=$title?></title
</head>
<!-- and so forth -->

Belki başkaları da bu tarz yararlı buluyorum, ama beni karıştırıyor. Ben bu ilkel bir içerik yönetim sistemine doğru bir adım olabilir varsayalım, ama burada çalışan yolu bunu sunucu çabaya değer yapmak için yeterli web geliştirici üzerindeki yükü azaltarak olmadan yapmak zorunda işleme ekler düşünmek istiyorum.

Yani, bu PHP ile sayfaları oluşturmak için normal bir yoldur? Ya da ben daha iyi bir yaklaşım lehine tüm bu çekmek gerekir?

Ayrıca, ben "<?" (genel ort "<?php") istenmeyen olduğunu biliyorum; Ben sadece kod ne üreyen ediyorum.

6 Cevap

Evet, kesinlikle bunu yapmak için invalid yol değil - ama okumak ve korumak için biraz hantal olabilir. Ben PHP böyle bir şey yapmak için "normal" bir yol var diyemem. Günün sonunda, HTML içine değişkenleri çıktılıyorsanız - yani {[(1 tarafından belirtildiği gibi çeşitli seçenekler, özel bir çiftleşmiş motoru kullanarak (ve / veya daha MVC-temelli bir yaklaşım başlığı olmadan yok )]}).

Benim önerim: sizin tercih ettiğiniz tarzınıza uygun değilse, bunu değiştirin. En önemli şey, geliştirmek ve bunu sürdürmek için gidiyoruz eğer, verimli rahatça onunla çalışmak, ve olabilir.

Bu kind of MVC doğru doğru yolda. MVC tüm endişeleri ayrılığı hakkında. Burada fikir, ilk parçacık değerlerini ayarlar ve daha sonra pageheader.inc onları çıktılar olmasıdır. Bu görüş dışarı mantık tutar.

Çok sloppily bitti.

PHP şeyler yapmanın hiçbir "standart" bir şekilde bir çok parçalanmış bir topluluktur. O dedi, bu deftere pageheader.inc örnek basitleştirilmiş olabilir görünür. Üstündeki kod size hiç iyi yapıyor. Bu tek başına yeterli olacaktır:

<html>
<head>
<title><?=@$title?></title>
</head>

Eğer mimarisi üzerinde bazı yön arıyor ve en iyi uygulamaları ediyorsanız, ben son derece Codeigniter veya Kohana gibi popüler PHP çerçeve göz atmanızı tavsiye ederim.

Orada kullanabileceğiniz iki yaklaşım aslında ve bunlar birbirlerinin tersidir. Her sayfa kendi içeriği üstbilgi, altbilgi ve diğer ortak veri dahil sorumlu olan bir yaklaşım, bir örnek var. Bu yaklaşım ile özellikle yanlış bir şey yoktur. İkinci yaklaşım üstbilgi, altbilgi, and içerik dahil olmak üzere sorumlu olan tek bir sayfa sahip olmaktır. Bu çok daha yaygın uygulamalar popüler PHP çerçeveler kullanıyor.

Ben bazı merkezi kod örneğin birkaç değişken menüler ve sayfa başlıklarını oluştururken, ama bu gibi bir tam gelişmiş MVC yapısı istemiyorum istiyorum 5-10 sayfa broşür dağıtan siteler gibi basit sitelerde bu stil çok kullandım overkill.

Sen oreilly.com Bu yazı üzerinden bakmak isteyebilirsiniz:

Understanding MVC in PHP