All streams
Search
Write a publication
Pull to refresh
22
0
Вадим Беляев @vadimbelyaev

User

Send message
Как ни старался, меньше по размеру сделать не получилось :)

По-русски
То-то я в ветке комментариев выше пытался убедить человека, что вместо использования псевдонеймспейсов надо разносить переменные по областям видимости :)
Эта фраза относится к
Понятно, по сути переменные от классов и не отличаются, глобальный класс или глобальная переменная, какая разница, считайте глобальную переменную классом с одним полем.
В Zend_View нет отдельного языка для шаблонов, чистый PHP.

По опыту скажу, что к префиксам $this-> в шаблонах привыкаешь за 1-2 часа, и в дальнейшем глаз их просто не замечает. То есть читаемость шаблонов остается на том же уровне.

Согласен, добиться полного разделения логики и представления почти нереально в практических задачах. Но без стремления сделать это обычно выходит плохой неподдерживаемый код.
То есть вы все-таки считаете, что проект, где большинство переменных являются глобальными — это нормально?

По второму вопросу: если вы боитесь, что верстальщик будет бояться $this->, используйте smarty, и будет у вас

{$order_id}

вместо

<?php echo $this->order_id; ?>

Хотя я бы боялся таких верстальщиков.

А основное назначение шаблонизатора — не хранение переменных шаблона в отдельной области видимости, а разделение логики и представления.
Это все верно, но кроме одного случая — передачи переменных в HTML-представление.
Используйте класс-шаблонизатор наподобие Zend_View или Smarty или напишите свой аналог. Читаться шаблон будет замечательно.

Объединение классов и функций в неймспейс полезно для предотвращения конфликтов имен классов и функций.

Например ситуация: у вас есть приложение, в котором для некоей задачи вы хотите использовать набор классов стороннего разработчика.
Если в вашем приложении и в стороннем наборе классов если классы с одинаковыми именем, будет проблема с интеграцией.
Если же заранее обернуть все в неймспейсы, проблемы не будет.
Проблема такого решения в том, что оно применяется вместо нормального рефакторинга.

Пространства имен — хорошая и полезная вещь, и я не считаю их дурным тоном. Как правильно сказал ниже zerkms, они нужны для объединения классов и функций. Это правильное использование неймспейсов.

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

Посмотрите исходные коды проектов на хорошем современном фреймворке, например, Zend Framework или symfony, и вы поймете, о чем я говорю.

Ваше решение — костыль для кода отвратительного качества, и оно не сделает ужасный код красивым.
Если честно, ужас какой-то.

Если неизвестно, что с переменными может случиться по дороге, надо код переписывать.
Хм, не знал. Ставил когда-то Федору 11 просто посмотреть, но не обратил внимания не беты.

Спорный шаг, однако. Я бы предпочел стабильную версию, пусть и более старую.
С каких это пор в стандартные репозитории помещают бета-версии?
Кстати, в мобильных устройствах с тачскрином вместо click везде написано tap.
Нажать что-либо в данном контексте предполагает, что надо отпустить. Нажать кнопку, клавишу.
Если отпускать не надо, об этом упоминается отдельно («Нажмите клавишу Alt и, не отпуская ее, нажмите F4»).
Не рекурсивной, а фрактальной.
Не могу не похвалить бесплатный пакет Comodo Internet Security (см. также топик на Хабре). Антивирус + файрволл.

Четыре домашних компьютера (жена, две сестренки, теща), Windows XP SP3, Vista SP1&2, включенный Windows Update и UAC, работа без прав администратора, IE не используется, пользователи-непрофессионалы в IT. Больше полугода: полет нормальный, ни одну заразу не пропустил.
Ух ты, спасибо, попробую. А на что уменьшение этого процента повлияет?

Насколько я понимаю, если установить его равным 0, то ext3 превращается по сути в ext2, то есть становится нежурналируемой. Или нет?

А вот в чем на практике будет отличие пяти процентов от, скажем, одного? Кроме, естественно, высвободившегося свободного места.
Ну слава богу, а то я уж думал, что что-то делаю не так :)
Именно таким способом мигрировал с Windows на Linux. Замучился, но доволен :)

Кстати, будет нелишним напомнить, что невозможен перенос начала раздела ext2/3.
Да, кстати, это не холивар :)

Я использую ext3 по тем же причинам, что и TripleWay.

Information

Rating
Does not participate
Location
Казань, Татарстан, Россия
Date of birth
Registered
Activity