Simba, я не вижу обьективной необходимости писать логич.констукции и скобки с новой строки.
Вот это, пожалуй, единственное что меня не устраивает в PSR.
Хотя, там требуют открывать скобки с новой строки только у классов, интерфейсов, трейтов, методов и функций (но не лямбд).
# Simba (09.11.2013 / 14:55)
А по поводу ужасности кода ну х.з. Я просто юзаю более ужасный код каждый день в таких цымысы как bitrix и netcat и код коханы мне после этого кажется офигенным
Синглтон на синглтоне, синглтоном погоняет, гг. Плюс, эта "иерархическая" стр.ра классов, ничего кроме оверхеда (на подгрузке всех этих файлов) не даёт.
# L!MP (09.11.2013 / 14:55)
Simba, я не вижу обьективной необходимости писать логич.констукции и скобки с новой строки.
Вот это, пожалуй, единственное что меня не устраивает в PSR.
Хотя, там требуют открывать скобки с новой с
Ну тут в целом да, но в редакторе проще увидеть скобку которая открыта с новой строки.
Например тут:
function ololo($dofiga_parametrov, $dofiga_parametrov,$dofiga_parametrov,$dofiga_parametrov, $dofiga_parametrov, $dofiga_parametrov, $dofiga_parametrov, $dofiga_parametrov)
{
// .....
}
Кода дофига параметров, скобка не в лезет на экран и соответственно её подсветку не увидишь)
Первый вариант:
http://prntscr.com/22xksc и второй вариант
http://prntscr.com/22xkvp
Второй как по мне так лучше
Simba, Всегда раздражало такое. Почему нельзя додуматься заюзать массив? Не понимаю.
# L!MP (09.11.2013 / 14:59)
Синглтон на синглтоне, синглтоном погоняет, гг. Плюс, эта "иерархическая" стр.ра классов, ничего кроме оверхеда (на подгрузке всех этих файлов) не даёт.
Ну да, подгрузка файлов жесткая хрень. гг. Но тоже решается эта проблема.
Но там есть ещё более жесткая бугагашка гг.
Я недавно юзал её и чет залез в лог запросов к бд. Работал с проверкой прав доступа. Так вот. На одной странице надо проверить несколько прав ну чтоб показывать ссылки или нет, так на каждую проверку валится один отдельный запрос. И в итоге логика скрипта съедает меньше обращений к БД чем проверка прав гг. Ну тоже в принципе решаемо написанием своего контроля прав.
Simba, ну вопервых, за такое нужно бить (и, возможно, даже ногами), а во вторых, если писать по РSR, то это будит так:
function ololo(
$dofiga_parametrov,
$dofiga_parametrov,
$dofiga_parametrov,
$dofiga_parametrov,
$dofiga_parametrov,
$dofiga_parametrov,
$dofiga_parametrov,
$dofiga_parametrov
) {
// .....
}
L!MP, не встречался ни разу с проблемами, связанными с такого рода структуризацией файлов/пакетов и такой автозагрузкой
Simba, ОRМ там вобще весёлая. Мапится на БД, но кешировать схему не умеет (или уже умеет?). Ну и то, что ты описал, видимо оно не кеширует полученые в рантайме связные данные, и при каждом обращении, скажем, $rolе->rulеs - лезит в БД.
# reaper (09.11.2013 / 15:05)
Simba, Всегда раздражало такое. Почему нельзя додуматься заюзать массив? Не понимаю.
Гг. Массив говоришь? гг. Ща покажу.
Ну массивы тоже нужно юзать в меру гг.
Вот пример подключения компонента в битриксе (всего 1 компонент)
Под спойлером код (+/-)
<?$APPLICATION->IncludeComponent("bitrix:news.list", "left-news", array(
"IBLOCK_TYPE" => "news",
"IBLOCK_ID" => "1",
"NEWS_COUNT" => "20",
"SORT_BY1" => "ACTIVE_FROM",
"SORT_ORDER1" => "DESC",
"SORT_BY2" => "SORT",
"SORT_ORDER2" => "ASC",
"FILTER_NAME" => "",
"FIELD_CODE" => array(
0 => "",
1 => "",
),
"PROPERTY_CODE" => array(
0 => "",
1 => "",
),
"CHECK_DATES" => "Y",
"DETAIL_URL" => "",
"AJAX_MODE" => "N",
"AJAX_OPTION_JUMP" => "N",
"AJAX_OPTION_STYLE" => "Y",
"AJAX_OPTION_HISTORY" => "N",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "36000000",
"CACHE_FILTER" => "N",
"CACHE_GROUPS" => "Y",
"PREVIEW_TRUNCATE_LEN" => "",
"ACTIVE_DATE_FORMAT" => "j F Y",
"SET_TITLE" => "N",
"SET_STATUS_404" => "N",
"INCLUDE_IBLOCK_INTO_CHAIN" => "N",
"ADD_SECTIONS_CHAIN" => "N",
"HIDE_LINK_WHEN_NO_DETAIL" => "N",
"PARENT_SECTION" => "",
"PARENT_SECTION_CODE" => "",
"DISPLAY_TOP_PAGER" => "N",
"DISPLAY_BOTTOM_PAGER" => "N",
"PAGER_TITLE" => "Новости",
"PAGER_SHOW_ALWAYS" => "N",
"PAGER_TEMPLATE" => "",
"PAGER_DESC_NUMBERING" => "N",
"PAGER_DESC_NUMBERING_CACHE_TIME" => "36000000",
"PAGER_SHOW_ALL" => "N",
"DISPLAY_DATE" => "Y",
"DISPLAY_NAME" => "Y",
"DISPLAY_PICTURE" => "Y",
"DISPLAY_PREVIEW_TEXT" => "N",
"AJAX_OPTION_ADDITIONAL" => ""
),
false
);?>
Это всего 1 компонент новостей, а их на странице может быть много гг. Ну тут уже не говорю о трёхэтажных массивах которые возвращает API битрикса гг. Там всё на куче массивов гг. Если интересно, могу показать пример массива с данными о товаре в каталоге интернет магазина гг. Там ещё больше букаф. гг
Delphinum, ты Коханой (Kohana Framework) пользовался? Возможно, мы опять о разных вещах подумали.