Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.64/22: Рейтинг темы: голосов - 22, средняя оценка - 4.64
ansi_str
56 / 56 / 15
Регистрация: 22.09.2011
Сообщений: 316
1

Архитектура php приложений

28.12.2012, 09:53. Просмотров 4046. Ответов 40
Метки нет (Все метки)

Здравствуйте, впервые работаю с PHP
Достался достаточно большой проект на нём, сразу же возникли вопросы по архитектуре и написанию кода

Это нормально, что весь код как винегрет - и запросы к БД, и JS функции, и разметка в одном файле находятся?

Для PHP так же характерно разделение архитертурные слои приложения, как, например для asp.net web forms или asp.net mvc?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2012, 09:53
Ответы с готовыми решениями:

Создание .exe приложений на PHP
Здравствуйте, подскажите пожалуйста среду разработки где можно создавать...

Архитектура веб-приложений
Только начинаю программировать на PHP. Написал первый маленький учебный проект,...

Ищу книгу "Разработка веб-приложений с помощью PHP и MySQL" (Люк Веллинг, Лора Томсон)
Ребятки, может у кого завалялась дома эта книга ("Разработка веб-приложений с...

Архитектура
Вот скажите как правильно это сделать(Знаю нужно читать книгу про MVC ,...

Архитектура движка
Всем Привет, я средний программер и хотел бы набрать опыта, изучать разные...

40
Flan
52 / 53 / 3
Регистрация: 12.03.2010
Сообщений: 212
28.12.2012, 11:00 2
Цитата Сообщение от ansi_str Посмотреть сообщение
Это нормально, что весь код как винегрет - и запросы к БД, и JS функции, и разметка в одном файле находятся?
Нет,обычно все разделено.
2
crautcher
2019 / 1991 / 463
Регистрация: 27.05.2011
Сообщений: 6,837
28.12.2012, 11:45 3
Цитата Сообщение от ansi_str Посмотреть сообщение
Для PHP так же характерно разделение архитертурные слои приложения, как, например для asp.net web forms или asp.net mvc?
MVC популярный паттерн на пхп
1
OnYourLips
506 / 356 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
28.12.2012, 16:56 4
Цитата Сообщение от ansi_str Посмотреть сообщение
Это нормально, что весь код как винегрет - и запросы к БД, и JS функции, и разметка в одном файле находятся?
Нет. Это неприемлемо.

Цитата Сообщение от ansi_str Посмотреть сообщение
Для PHP так же характерно разделение архитертурные слои приложения, как, например для asp.net web forms или asp.net mvc?
Конечно.
2
c4boomb
28.12.2012, 21:30
  #5

Не по теме:

Быдлокод такой быдлокод....
А потом спрашивают почему пых считают плохим языком программирования.
Потому что пишут не код, а

Цитата Сообщение от ansi_str Посмотреть сообщение
винегрет

1
Vovan-VE
29.12.2012, 16:01
  #6

Не по теме:

Цитата Сообщение от c4boomb Посмотреть сообщение
А потом спрашивают почему пых считают плохим языком программирования.
Изучите хотя бы немного Perl, откуда PHP был слизан - поймёте, что на самом деле имеется ввиду.

0
OnYourLips
506 / 356 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
29.12.2012, 16:03 7
Цитата Сообщение от Vovan-VE Посмотреть сообщение
откуда PHP был слизан
Что-то новое
PHP был написан на Perl, а не слизан с него.

Современный PHP ближе всего к Java и абсолютно не похож на Perl.
0
DrobyshevAlex
1173 / 1123 / 94
Регистрация: 31.05.2012
Сообщений: 3,059
29.12.2012, 16:08 8
Цитата Сообщение от OnYourLips Посмотреть сообщение
PHP был написан на Perl
Это где? Где то в параллельной вселенной? Всегда думал что пхп написан на си
1
Vovan-VE
29.12.2012, 16:16
  #9

Не по теме:

Цитата Сообщение от OnYourLips Посмотреть сообщение
PHP был написан на Perl, а не слизан с него.
Даже если так, то одно другому не мешает. Много фич из Perl'а грубо стырены и спроецированы («проекция») на более простую и непродуманную архитектуру PHP.
Цитата Сообщение от OnYourLips Посмотреть сообщение
Современный PHP...
...натягивается костылями с распорками на то, что давно есть и почти всегда было в нормальных языках, где сначала все продумано, а потом уже реализовано.

0
OnYourLips
506 / 356 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
29.12.2012, 16:19 10
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
Это где? Где то в параллельной вселенной? Всегда думал что пхп написан на си
Начиная с PHP 3 - на C.
0
DrobyshevAlex
1173 / 1123 / 94
Регистрация: 31.05.2012
Сообщений: 3,059
29.12.2012, 16:27 11
А 3 версия была когда? В середине 90х?
Сейчас он написан на си на сколько мне известно.

Кстати, то что он на перле когда то был - не знал

А по поводу схожести языков, да большая часть языков схожа. А многие, такие как пхп, java - если мне не изменяет память, даже называют си подобными
0
Василий Макогон
270 / 226 / 11
Регистрация: 20.04.2012
Сообщений: 820
29.12.2012, 18:06 12
http://www.phpinfo.su/articles/practice/shablony_v_php.html
0
casual_visitor
87 / 87 / 8
Регистрация: 02.09.2012
Сообщений: 510
29.12.2012, 19:37 13
Василий Макогон, согласен, что мешанина кода php и html сама по себе не вредна..вредна каша, когда реализуется логика приложения, какие-то вычисления, среди кода html страницы(тобиш в отображении). А php - сам есть шаблонизатор и php вставки должны быть среди кода страницы.. По теме.. не по теме.. сори
0
OnYourLips
506 / 356 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
29.12.2012, 21:06 14
Цитата Сообщение от casual_visitor Посмотреть сообщение
и php вставки должны быть среди кода страницы..
Лучше использовать что-то типа twig.
0
DrobyshevAlex
1173 / 1123 / 94
Регистрация: 31.05.2012
Сообщений: 3,059
29.12.2012, 21:21 15
Ну вот в python или ruby я понимаю что лучше использовать шаблонизаторы. Там например просто нельзя делать вставки как в пхп.

А зачем в пхп юзать шаблонизаторы? Я вот не разу не юзал
Кто может объяснить преимущества шаблонизатора над нативным пхп?
Я могу лишь предположить только минус, например скорость скорей всего пострадает.
0
OnYourLips
506 / 356 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
29.12.2012, 21:25 16
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
А зачем в пхп юзать шаблонизаторы? Я вот не разу не юзал
Кто может объяснить преимущества шаблонизатора над нативным пхп?
Автоэкранирование по умолчанию.
0
DrobyshevAlex
1173 / 1123 / 94
Регистрация: 31.05.2012
Сообщений: 3,059
29.12.2012, 21:38 17
Вы про перевод в хтмл сущности?
PHP
1
2
3
function p($v, $escape = true) {
    return $escape ? htmlspecialchars($v) : $v;
}
в шаблоне
PHP
1
<?php p($name) ?>
Думаю не намного сложней но работать будет быстрей

А так же тут был уже холивар по поводу того, нужно ли экранировать при выводе или перед записью в базу.
Я склонялся к к экранированию перед выводом, так как не всегда бывает нужно экранировать
Но многие экранируют сразу, при сохранении в бд. Так им тогда на оборот вредно юзать шаблонизаторы
0
OnYourLips
506 / 356 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
29.12.2012, 21:42 18
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
но работать будет быстрей
не будет, т.к. не является узким местом приложения.

<?php p($name) ?>
Ты имел ввиду <?= p($name) ?>.
Однако вопрос такой: что будет, когда забудешь написать p() и напишешь <?= $name ?>?
Будет XSS.
Я считаю такое поведение шаблона недопустимым.

Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
А так же тут был уже холивар по поводу того, нужно ли экранировать при выводе или перед записью в базу.
Нет никакого холивара на эту тему, т.к. экранирование должно быть там, где оно нужно, т.е. непосредственно перед выводом.
0
ostgals
882 / 677 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
29.12.2012, 21:44 19
Цитата Сообщение от OnYourLips Посмотреть сообщение
Начиная с PHP 3
Все же нет. Начиная со второй версии.
Хотя сути это, конечно, не меняет.
0
DrobyshevAlex
1173 / 1123 / 94
Регистрация: 31.05.2012
Сообщений: 3,059
29.12.2012, 21:56 20
Цитата Сообщение от OnYourLips Посмотреть сообщение
Однако вопрос такой: что будет, когда забудешь написать p() и напишешь <?= $name ?>?
Не чего не будет. У меня всегда короткие теги выключены
Так как не люблю конфликты с xml а он юзается частенько

Цитата Сообщение от OnYourLips Посмотреть сообщение
Будет XSS.
Я считаю такое поведение шаблона недопустимым.
Второй момент. У меня часто и html теги разрешены, только некоторые, и только некоторые атрибуты для некоторых тегов. Ну и не только у меня. Много сайтов, тот же хабр, точно так разрешает юзать хтмл.
Ну и в помощь этому есть библиотеки, которые используются вместо htmlspecialchars.

Цитата Сообщение от OnYourLips Посмотреть сообщение
ет никакого холивара на эту тему, т.к. экранирование должно быть там, где оно нужно, т.е. непосредственно перед выводом.
Что значит нет. Холивар это просто спор, когда две стороны отстаивают своё Как можно сказать что нет холивара, когда была тема где две стороны отстаивали своё мнение, и не одна не обращала внимания на аргументы другой
А Вы утверждаете что такой темы не было получается
Ну и сказать "непосредственно перед выводом" - это как раз одна из сторон была той темы.
0
29.12.2012, 21:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.12.2012, 21:56

архитектура съема позиций
Добрый день! Имею в црм приложение по съему позиций в яндексе, 20 проектов по...

Архитектура работы с шаблонами
Всем здравствуйте, уже давно не отпускает вопрос, хочу хорошо продумать...

Модульная архитектура приложения
Здравствуйте! Подскажите идею красивой архитектуры модульного приложения....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru