Хранение PHP-скрипта отдельно от интерфейса - PullRequest
3 голосов
/ 10 апреля 2010

У меня есть php-скрипты, которые делают что-то вроде регистрации, входа в систему, загрузки.Я хотел бы сохранить HTML в отдельном файле, так что, скажем, я делаю клиент для настольного компьютера, я могу просто использовать файлы php для регистрации входа в систему и т. Д.

В основном, чтобы сказать внешний интерфейс, HTML илинастольный клиент, а затем только один бэкэнд, php.

Возможно ли это?

РЕДАКТИРОВАТЬ: что-то вроде ASP.net больше подходит для этого?

Ответы [ 6 ]

6 голосов
/ 10 апреля 2010

Не просто запрыгнуть на фреймворк Framework. Сам создатель PHP выступает за неструктурированный подход к решению этой проблемы разделения. Смотри: http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html

Проблема с общими фреймворками в том, что они излишни и медленны. Хорошо, если вы специализируетесь на одном домене, таком как CMS, и используете drupal или что-то еще, но остерегайтесь общих структур. Будьте особенно обеспокоены бесполезностью Smarty (см .: http://codeangel.org/articles/simple-php-template-engine.html)

Перед тем, как отойти от меня, имейте в виду, что я не против Коханы, З. Ф. и т. Д. Они по-прежнему используются. Но так как люди обычно говорят людям просто перейти к использованию фреймворка, я решил предложить другую точку зрения.

3 голосов
/ 10 апреля 2010

PHP сам по себе является шаблоном, и долгое время обсуждали, насколько бесполезны такие вещи, как Smarty https://stackoverflow.com/questions/630714/smarty-the-best-choice Это чисто вопрос организации вашего кода, а не «движок шаблонов» MVC - хорошее направление .

Если вы планируете сделать настольный клиент или что-то в этом роде, я думаю, что ваше направление также направлено на создание API - http://www.gen -x-design.com / archives / create-a-rest- апи-с PHP /

1 голос
/ 10 апреля 2010

почему бы и нет? Просто разделите каждое ваше приложение на 2 части - подготовка данных и отображение данных.

Скажем, ваша часть подготовки данных (также называемая "бизнес-логикой") может выглядеть как

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

Обратите внимание на функцию display(). Это функция, отвечающая за вывод данных. Может отображать как HTML, так и JSON, в зависимости от места назначения. Это код может выглядеть как

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

и users_list.tpl могут выглядеть как

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

Очень просто. Просто избегайте echo $row['name']; вещей в вашем коде бизнес-логики.

0 голосов
/ 16 сентября 2011

Agiletoolkit - это легковесная инфраструктура, которая отлично справляется с реализацией MVC и, в качестве бонуса, также обеспечивает простую интеграцию в интерфейс Jquery для внешнего интерфейса, поэтому вы можете очень легко создавать великолепно выглядящие веб-сайты с доступом к базе данных CRUD.

Как уже упоминали другие, если вы дисциплинированы в своем подходе, вы можете сделать это самостоятельно на простом php, но - дисциплинировать не всегда легко, особенно когда есть сроки, чтобы соблюсти.

Я не могу комментировать другие фреймворки, так как я не использовал их, но как опытный программист в областях, не связанных с веб-разработкой, я предпочитаю подход agiletoolkit вместо кодирования необработанного php. Я не хочу заново изобретать множество вещей, таких как безопасность, ajax и т. Д. - я просто хочу приступить к разработке своего приложения и иметь простой в обслуживании код в конце разработки.

Если это также то, что вы ищете, проверьте php framework с интеграцией jquery

0 голосов
/ 10 апреля 2010

Да, это возможно с такими парадигмами проектирования, как MVC (Model-View-Controller). Я бы посоветовал изучить такие фреймворки, как CodeIgniter, Kohana, CakePHP или Symfony. Я слышал, что CodeIgniter является самым простым в освоении для начинающих.

0 голосов
/ 10 апреля 2010

Можно перейти на Модель-Вид-Контроллер Шаблон проектирования. Подробнее об этом здесь:

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

Вот хороший урок об этом на phpro.org:

.

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

Сказав, что переход к MVC - довольно сложная тема, вы должны хорошо разбираться в ООП . Другое дело, можно использовать Smarty template engine , но вам все же придется научиться его использовать.

Кроме того, не забывайте о 10 лучших PHP-фреймворках MVC, которые вы можете использовать.

Я бы лично предложил вам перейти с CodeIgniter , это проще и быстрее, чем другие аналоги. Или вы можете выбрать Kohana , который называется расширенной версией CodeIgniter.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...