PHP komut dosyası tutulması UI ayrı

6 Cevap php

I have php scripts that do things like register, login, upload. I would like to keep the HTML in a seperate file so that say I make a desktop client I can just use the php files to do the login register etc.

Temelde diyelim ki bir ön uç var, HTML veya masaüstü istemcisi ve sonra tek bir backend, php.

Bu mümkün mü?

EDIT: ASP.net gibi bir şey bu daha uygun olur?

6 Cevap

Sadece bir Çerçeve trenine atlamak yok. PHP bizzat yaratıcısı bu ayrılık sorunu ile uğraşan bir hayır-çerçeve yaklaşımı savunmaktadır. Bkz: http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html

Genel çerçeveler ile sorun onların gereksiz ve yavaş konum olduğunu. Size böyle bir CMS olarak tek bir etki alanında uzmanlaşmış ve Drupal veya bir şey kullanarak eğer iyi, ama genel çerçeveler dikkatli olun. Smarty faydasızlık konusunda özellikle endişeli olun (bakınız: http://codeangel.org/articles/simple-php-template-engine.html)

Bana kapalı gitmeden önce, ben Onlar hala kullanan var vb anti-Kohana, ZF, değilim unutmayın. Insanlar sadece düz bir çerçeve kullanarak atlamak için insanlara anlatmak eğilimi beri ama, ben farklı bir bakış açısı sunuyor düşündüm.

Kendisi tarafından PHP bir şablon ve uzun süre Smarty gibi faydasız şeyler http://stackoverflow.com/questions/630714/smarty-the-best-choice Bu kod organizasyonu ziyade bir "çiftleşmiş motoru" MVC iyi yönü olan bir saf meselesi nasıl ele alındı.

Eğer bir masaüstü istemcisi ya da bir şey yapmak için planya eğer böyle senin yönü bir API oluşturulması yönünde de olduğunu düşünüyorum - http://www.gen-x-design.com/archives/create-a-rest-api-with-php/

why not? just divide your every application into 2 parts - data preparation and data displaying.

Say, (aynı zamanda "iş mantığı" da denir), veri hazırlama parçası gibi görünebilir

<?
include 'config.php';
$data=db_query("SELECT * FROM data",3);
display($data,"users_list.tpl");
?>

Note the display() function. It's the function responsible for the data output. It can render both HTML and JSON, depends on the destination. It code may look like

<?
if ($destination == 'desktop') echo json_encode($data);
else include $template;
?>

ve users_list.tpl gibi görünebilir

<a href="?id=0">Add item</a>
<? foreach ($data as $row): ?>
<li><a href="?id=<?=$row['id']?>"><?=$row['name']?></a>
<? endforeach ?>

Çok basit. Sadece iş mantığı kodu echo $row['name']; şeyleri önlemek.

Evet, bu tür MVC (Model-View-Controller) gibi tasarım paradigmaları ile mümkündür. Böyle CodeIgniter, Kohana, CakePHP, ya Symfony'de gibi bir çerçeve içine bakarak öneririz. Ben CodeIgniter başlayanlar için öğrenmesi kolay olduğunu duydum.

Sen Model-View-Controller tasarım deseni için gidebilirsiniz. Bu konuda daha fazla bilgi bakınız:

http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

İşte phpro.org de bu konuda iyi bir öğretici olduğunu:

http://www.phpro.org/tutorials/Model-View-Controller-MVC.html

MVC oldukça gelişmiş bir konudur gidiyor, sen OOP iyi olmak için var, o söyledikten sonra. Başka bir şey Smarty template engine kullanmak için ama henüz bunu nasıl kullanılacağını öğrenmek zorunda kalacaktır olabilir.

Also, not to forget about top 10 MVC PHP frameworks you can use.

Ben şahsen CodeIgniter , it is easier and faster than other counterparts. Or you may want to go for Kohana ile gitmek için tavsiye ediyorum, CodeIgniter genişletilmiş bir sürümü olduğu söyleniyor.

Agiletoolkit MVC uygulama büyük bir iş yapar ve çok kolay veritabanına CRUD erişimi ile birlikte mükemmel görünümlü web siteleri oluşturmak, böylece bir bonus olarak, aynı zamanda ön uç için jQuery UI içine kolay entegrasyon sağlayan hafif bir çerçevedir.

Diğerleri de söylediğim gibi sizin yaklaşım disiplinli iseniz, düz php bu kendiniz yapabilirsiniz ama - disiplinli olma deadlinelar vardır, özellikle de her zaman kolay değildir.

Ben onları kullanılan sığınak ama olmayan web geliştirme alanlarında deneyimli bir programcı olarak, ben çok çiğ php kodlama karşı agiletoolkit yaklaşımını tercih olarak ben diğer çerçeveler üzerinde yorum yapamam. Ben güvenlik gibi çok şeyler yeniden icat etmek zorunda istemiyorum, ajax vs -. Ben sadece almak ve benim uygulama geliştirmek istiyorum ve gelişme sonunda kodunu korumak kolay olması.

Şu da ne arıyorsanız, bu php framework with jquery integration check out