Форум → Программирование → PHP для идиотов → PHP и ООП → Как избежать уродских названий классов?
Как избежать уродских названий классов?
Страницы: ← Предыдущая страница →
-
23 мая 2010 г. 15:26, спустя 17 дней 5 часов 52 минуты
что бля, до сих пор нифига не придумали? ууу блин, программисты йо -
23 мая 2010 г. 15:53, спустя 27 минут 12 секунд
class BLW_Doctors_List extends BLAM_Abstract_Minimal implements BL_Application_WidgetInterface
class BLM_Doctors_ContactForm extends BLAM_Abstract_Minimal
меня все и так устраивает -
23 мая 2010 г. 16:16, спустя 22 минуты 38 секунд
Абырвалг, ты просто не дошел до этого момента ;), когда это не будет устраивать
я думаю надо оперировать и передвать, что то, что будет подразумеваться под неймспейсом, не знаю даже как и что, но вот допустим для какого то действия, контроллер возвращает представление по умолчанию:class Action {
public fucntion run()
{
$namespace = null;
$view = $this->getController()->getView($this, $namespace);
}
}
что то типа того, то есть либо мы берём представление по умолчанию без передачи параметра $namespace, либо с ним, задавая его руками (или может чем то другим), если надо инстанцировать совершенно другой объект. Это абстрагирует от конкретных реализаций использования разделения пространства имён - родных или не родных. -
23 мая 2010 г. 16:24, спустя 8 минут 12 секунд
Абырвалг, ты просто не дошел до этого момента ;), когда это не будет устраивать
все з точнiстю до навпаки. Был такой момент, я его перешагнул, начав использовать префиксы (BL_, BLW_, …) и сформировав четкую взаимосвязь между префиксами, названиями классов и структурой директорий.
А еще пару недель назад стал отказываться от явного указания классов где это возможно.class BLM_Doctors_ContactForm extends BLAM_Abstract_Minimal
{
// …
public function __construct(BL_Application $app)
{
$this->db= $app->lib('db'); // было BL_Database::getInstance();
$this->userId = $app->lib('user')->getBaseInfo('id'); // BL_Auth::instance();
}
// …
еще можно так делать:$app->lib('db', 'read');
$app->lib('db', 'write');
типа если у нас репликации всякие и конфиг для чтения отличается от конфига на запись -
23 мая 2010 г. 16:29, спустя 5 минут 6 секунд
вот в Мадженте да, названия классовуродскиеохуенно длинные -
23 мая 2010 г. 16:30, спустя 46 секунд
Абырвалг, ну в этом случае ты прав, это почти тоже самое что и я сказал. Суть в использовании сильной стороны php - динамической типизации.
Фактически названия да, длинные и остаются, но их видно только в объявлении.
Нафиг вообще мне это писать, я думаю, и так всё понятно, вечно лезу в дебри.
Закрывайте тему нафиг
))))))) -
25 июля 2010 г. 16:08, спустя 62 дня 23 часа 38 минут
namespace Application\Modules\Forum\Helpers
namespace Application\Modules\Forum\Controllers
namespace Application\Modules\Forum\Models
class Topic
{
}
class Post
{
}
Нормуль? -
25 июля 2010 г. 16:18, спустя 10 минут 29 секунд
ну и гавно же ваще пхп, еще и палочки из виндовс адаптировали, фуСапожник без сапог -
-
25 июля 2010 г. 16:36, спустя 9 минут 9 секунд
namespace a
{
}
namespace b
{
}
http://ua.php.net/manual/en/language.namespaces.definitionmultiple.phpnamespace Application\Modules\Forum\Controllers
class Topic extends Application\Modules\Abstract\Controllers\ZendStyle
{
public function indexAction()
{
$this->context->model()->forum_topic()->collection() …
}
} -
25 июля 2010 г. 17:59, спустя 1 час 22 минуты 34 секунды
extends Application\Modules\Abstract\Controllers\ZendStyle
так эта штука всё равно не динамическая, надо указывать… Я еще не успел поработать с неймспейсами, но пока мне кажется, что они красиво объявляют, но хреново инстанцируют или типа того… -
25 июля 2010 г. 18:18, спустя 19 минут 16 секунд
контроллер запускается автоматом классом Pyha\Core\Application, так что для меня плохое инстанцирование роли не играет. Кроме того к модели я доступ получаю через model() - то есть длинное имя класса в модели также отпадает. То же самое и с хелперами.
Неймспейсы удобны -
26 июля 2010 г. 1:03, спустя 6 часов 44 минуты 49 секунд
Абырвалг, базара нема, удобны, но я получаю модель и часто не одну напрямую, такая вот фигня…
Страницы: ← Предыдущая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!