- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
if(!empty($this->aActions))
$sMenuItems = htmlspecialcharsbx(CAdminPopup::PhpToJavaScript($this->aActions));
?>
<tr class="adm-list-table-row<?=(isset($this->aFeatures["footer"]) && $this->aFeatures["footer"] == true? ' footer':'')?><?=$this->bEditMode?' adm-table-row-active' : ''?>"<?=($sMenuItems <> ""? ' oncontextmenu="return '.$sMenuItems.';"':'');?><?=($sDefAction <> ""? ' ondblclick="'.$sDefAction.'"'.(!empty($sDefTitle)? ' title="'.GetMessage("admin_lib_list_double_click").' '.$sDefTitle.'"':''):'')?>>
<?
if(count($this->pList->arActions)>0 || $this->pList->bCanBeEdited):
$check_id = RandString(5);
?>
<td class="adm-list-table-cell adm-list-table-checkbox adm-list-table-checkbox-hover<?=$this->bReadOnly? ' adm-list-table-checkbox-disabled':''?>"><input type="checkbox" class="adm-checkbox adm-designed-checkbox" name="ID[]" id="<?=$this->table_id."_".$this->id."_".$check_id;?>" value="<?=$this->id?>" autocomplete="off" title="<?=GetMessage("admin_lib_list_check")?>"<?=$this->bReadOnly? ' disabled="disabled"':''?><?=$this->bEditMode ? ' checked="checked" disabled="disabled"' : ''?> /><label class="adm-designed-checkbox-label adm-checkbox" for="<?=$this->table_id."_".$this->id."_".$check_id;?>"></label></td>
<?
endif;
if($this->pList->bShowActions):
if(!empty($this->aActions)):
?>
<td class="adm-list-table-cell adm-list-table-popup-block" onclick="BX.adminList.ShowMenu(this.firstChild, this.parentNode.oncontextmenu(), this.parentNode);"><div class="adm-list-table-popup" title="<?=GetMessage("admin_lib_list_actions_title")?>"></div></td>
<?
else:
?>
<td class="adm-list-table-cell"></td>
<?
endif;
endif;
barbarbar 14.11.2014 07:56 # 0
У меня есть один такой одаренный, на работе, вечно вместо альтернативного синтаксиса в верстке использует фигурные скобки. Хочется ему голову лопатой отрубить уже.
guest 14.11.2014 09:36 # −23
barbarbar 14.11.2014 10:11 # 0
Анонимус 14.11.2014 22:23 # 0
guest 14.11.2014 17:54 # −5
barbarbar 14.11.2014 19:07 # 0
Анонимус 14.11.2014 22:19 # 0
Боже, как прекрасно что в моем мире шаблонизаторы лаконичны, легко встраиваются в HTML, и сами экскейпирут данные, а JS вынесен в отдельный файл и там навешивается жукверей на элементы с определенным классом.
barbarbar 14.11.2014 23:51 # 0
Анонимус 15.11.2014 00:16 # 0
?:))
barbarbar 15.11.2014 00:17 # 0
Анонимус 15.11.2014 00:23 # 0
Я вижу тут ужасную шаблонизацию (даже этот ваш смарти и то приятнее), немного логики (die()), и HTML вокруг всего этого. Бедный верстун, который захочет этот код поправить.
Но вообще я не собирался разводить флеймы на тему "почему это плохо". Это уже такое общее место, что мне не интересно) Можете спросить гостя)
barbarbar 15.11.2014 00:29 # 0
Шаблонизация тут обычная, форма, в которой выводится другой компонент (а внутри него может тоже компонент выводиться и так далее).
die - следствие архитектуры, можно не писать эту строчку, если неохота, сам часто так делаю.
Каждый день такое верстаю, рвотных позывов не наблюдаю.
Анонимус 15.11.2014 00:31 # 0
barbarbar 15.11.2014 00:39 # 0
Кто-то работает суперсовременным швейцарским ножом, кто-то набором "собери коллайдер сам", кто-то ножовкой и молотком. Я не собираюсь собирать ферарри ножовкой и молотком, но и делать крепкую табуретку швейцарским ножом тоже не буду - вложенные инвестиции не будут оправданы.
Анонимус 15.11.2014 00:48 # 0
Ставить сигнализации в такой квартире довольно трудно, равно как и указывать ее адрес) Но на вкус и цвет все фломастеры разные
barbarbar 15.11.2014 01:11 # 0
Понятное дело, что если я делаю домик на колесах, я не буду использовать набор для строительства замка, а возьму тот же phalcon или kohana.
Анонимус 15.11.2014 01:18 # +1
Заказчику все равно каким образом у Вас файлы лежат на диске.
Единый фреймворк того же самого Django позволяет делает реюзабельные приложения, иснталлировать их в нужные пути, и приложения автоматически включаются во все жизненные циклы вроде синхронизации БД и проверки состояния.
На самом деле даже в PHP фреймворки пропагандируют единую точку входа: тот же Zend. Это довольно очевидная конструкция.
Не существует примуществ у создания файлика "guestbook.php" или "add_order.php" в document root вебсайта. Во всяком случае , я о таких требованиях не слышал.
barbarbar 15.11.2014 01:26 # 0
Не спорю, мне самому нравится подход зенд, но с другой стороны мне нравится относительная свобода, которую дает битрикс. Если надо - можно на битриксе все сделать с единой точкой входа. Это если надо и если предыдущий пункт про заказчика пройден успешно.
Как видите, есть по меньшей мере один фреймворк, который такую архитектуру единой точки входа не придерживается.
Это не требования, это реалии проектов. Банально, интеграция уже зарекомендовавшей себя гостевой книги в давно созданный проект.
Речь ведь не только о с нуля создаваемых красавцах на бутстрапе. Большую часть представляют собой уродцы прямиком из 90-00-х
Анонимус 15.11.2014 01:29 # 0
Заказчик может зайти по FTP и поправить шаблон (хотя я не понимаю как тогда гарантировать работу сайт: он же не будет ничерта версионировать). Но шаблоны не имеют никакого отношения к точкам входа. Это отдельные файлы:)
barbarbar 15.11.2014 01:33 # 0
Если контент лежит в конкретных файлах, скажем about.php, то причем тут шаблоны компонентов или сайта (пользуясь терминологией битрикса)?
Вобщем, это просто другая идеология, с этим нет смысла спорить, можно пользоваться ею при разработке, можно не пользоваться. Кто работает с битриксом - пользуется и не жалуется.
Все равно весь роутинг в админке представлен.
Анонимус 15.11.2014 01:35 # 0
Если контент это текст, то он точно так же будет лежать в шаблоне. Пусть он правит about.html, и все.
Шаблон это просто файл на файловой системе. В базе их не хранят (а в битриксе хранят, да?).
barbarbar 15.11.2014 01:39 # 0
В битриксе из коробки контент находится между подключением header.php и footer.php в файле типа .php. Вот его обычно и правят через фтп или визуальный редактор битрикса.
Анонимус 15.11.2014 01:43 # 0
)Тоесть битрикс сразу же ставит верстуна в позу когда есть понятия "header" и "footer". Как прекрасно! А вдруг у меня сайт в котором вместо "header" есть "left panel"? А вдруг я хочу в 9 страничках юзать общий шаблон а в 10й -- нет?
Впрочем, битрикс тут не одинок. Так поступуюат все CMS. Потому-то фреймворки (zend, ruby, django) нравятся мне больше, чем CMSы (джумла, друпал итд)
barbarbar 15.11.2014 01:46 # 0
Вы можете вообще ничего не писать ни в header, ни в footer. Вобщем, вам лучше почитать на досуге описание, как в битриксе происходит процесс выполнения страницы, чем допрашивать меня в комментариях:)
По поводу гита на сервере клиента - однозначно могу сказать, что есть ситуации, когда это невозможно. По различным соображениям (не моим конечно, я только за гит на каждом сервере))
Анонимус 15.11.2014 01:52 # 0
Ошибаетесь. Django предоставляет админку для CRUD весьма годную. Причем она сразу уже умеет WYSIWIG, например.
RoR тоже есть ActiveAdmin, например.
>>Вы можете вообще ничего не писать
Я понимаю. Но сам факт внесения таких понятий как хедер и футер меня уже начинает напрягать.
В общем речь тут шла не о CMS vs frameworks, тут все понятно (CMS готовый продукт со всеми ограничениями) а о точке входа
barbarbar 15.11.2014 01:55 # 0
Просто битрикс это cmf, поэтому у него есть достоинства и недостатки сразу и тех, и других:)
Анонимус 15.11.2014 01:59 # 0
Вот и тут я не вижу ни одной ситуации когда НЕ единая точка входа необходима.
bormand 15.11.2014 08:28 # +1
index.php.1, index.php.2, ...
> гит на продакшен сервере
Поосторожней с этим, а то было полно прецедентов (даже какое-то исследование проводили, собирая статистику), когда apache/nginx превращали проект в опенсурсный из-за того, что папочка .git попала в раздаваемую ими директорию.
inkanus-gray 15.11.2014 12:10 # +2
http://habrahabr.ru/post/70330/
Но в этом случае заводим под репозиторий отдельную директорию, а из неё на продакшен сервер делаем экспорт отдельной командой.
kipar 15.11.2014 16:57 # 0
guest 15.11.2014 19:05 # −24
Гит всех убил
inkanus-gray 15.11.2014 21:48 # 0
bormand 16.11.2014 09:12 # 0
inkanus-gray 16.11.2014 09:29 # +1
kipar 16.11.2014 14:11 # 0
roman-kashitsyn 16.11.2014 19:43 # +1
Git нужен, как минимум для разработки ядра.
Hg нужен для людей, которые не успевают попить кофе, пока выполняется git blame или хотят понаписать плагинов.
Вот уж кто точно не нужен - так это bazaar.
Vasiliy 16.11.2014 20:21 # +2
inkanus-gray 15.11.2014 01:30 # 0
Единственное разумное применение отдельной точки входа (на мой взгляд) — это скрипт для исполнения задач по крону.
barbarbar 15.11.2014 01:35 # 0
А вот использовать для крона отдельную точку входа - в любом случае эту точку придется закрыть htaccess, какой смысл?
Анонимус 15.11.2014 01:37 # 0
Так как знание о том, что есть урл /foo/bar/spam храница в Urlconf, то можно просто сказать "вставить сюда урл по имени foo" и не хардкодить в шаблон "/foo/bar/spam.php".
Тут парадокс балба (или как там его?) в действии. Нужно сначала попробовать поработать с единой точкой входа, тогда станет понятно почему она лучше
barbarbar 15.11.2014 01:47 # 0
bormand 15.11.2014 08:40 # +2
Голосую за подход, при котором мухи отдельно, а котлеты отдельно. Т.е. статика в одном каталоге, в котором ничего никогда не исполняется, а динамика - в другом, который никогда и ни при каких условиях не раздаётся веб-сервером. Старый добрый cgi так и работал. И это было хорошо. И все новомодные фреймворки, кроме пыховских, работают именно так.
Тогда никакие затыкания дыр через .htaccess или index.php в каждом каталоге просто не нужны. И никто не запустит какой-нибудь левый модуль системы.
inkanus-gray 15.11.2014 12:04 # +1
Но ведь дефолтный ZF, который некоторые и за фреймворк-то не считают, хранит все исполняемые скрипты (кроме точки входа) за пределами htdocs. За это, кстати, его не любят пользователи шаред-хостингов, т. к. его придётся хитро переконфигурировать, чтобы смешать мух с котлетами.
Vasiliy 16.11.2014 20:23 # +1
inkanus-gray 16.11.2014 21:55 # 0
Но так сложилось, что это не считается за php-way...
barop 05.05.2017 00:05 # −21
Рома-Рома-Роман,
Рама-Рома-Роман,
Роман!
1024-- 05.05.2017 09:52 # 0
Религия - физика
guest 05.05.2017 10:15 # −21
guest 30.12.2014 14:02 # −5
guest 18.02.2017 10:14 # −5
guest 18.02.2017 11:58 # −5
http://clfh.org/images
guest 18.02.2017 12:08 # −5
guest 04.05.2017 23:24 # −5
Charlton joined United in 1953 as an England Schoolboys prodigy with a bulky notorious and was yearning to make his aim in Matt Busby's free-flowing team. With Tommy Taylor away with England on global job on a quarry against Northern Ireland, his big chance arrived, five days limited of his 19th birthday.
The conspicuous footballing Knight spoke to MUTV some in unison a all the same ago about his bend in outstanding detail as he offered his recollections of the start of an incredible odyssey.
"It was the longest term I'd in any case been below par the pitch injured," recalled Sir Bobby. "There was a lad called Keith Marsden who played centre-back in behalf of Manchester New zealand urban area Reserves and we both club the ball at the notwithstanding time and my ankle swelled up. Three weeks later, Sir Matt Busby asked me how I was.
<a href=http://56b3a8a59c459ea6f4a55ef4140a8805.com>htt p://56b3a8a59c459ea6f4a55ef4140a8805.com</a>