ФорумПрограммированиеPHP для идиотов → как избежать ошибок с именами?

как избежать ошибок с именами?

  • wats

    Сообщения: 134 Репутация: N Группа: Кто попало

    Spritz 25 сентября 2010 г. 8:52

    Например в разных папках могут оказаться классы с одинаковыми именами, как автолоадеру их загружать? Или например есть куча модулей у каждого свои вьюверы, как шаблонизатору показать, что сейчас надо загрузить вьювер из папки этого модуля, а не другого, сами вьюверы тоже могут быть с одинаковыми именами.
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 25 сентября 2010 г. 8:53, спустя 1 минуту 2 секунды

    Например в разных папках могут оказаться классы с одинаковыми именами, как автолоадеру их загружать?

    не может оказаться если использовать стандарты кодирования и именования файлов и переменных
    Спустя 8 сек.
    классобв в смысле, а не переменных конечно)
    Сапожник без сапог
  • KaFe

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz 25 сентября 2010 г. 8:59, спустя 5 минут 45 секунд

    namespace
    Спустя 44 сек.
    http://php.net/manual/en/language.namespaces.nsconstants.php
    Спустя 133 сек.
    применим как к обычным функциям так и к классам, действует с php 5.3.1 по крайней мере у меня :)
  • wats

    Сообщения: 134 Репутация: N Группа: Кто попало

    Spritz 25 сентября 2010 г. 9:19, спустя 20 минут 30 секунд

    ну например модули будут писать разные люди, и соответственно они же не будут знать как назвал вьюверы или классы в своем модуле другой разработчик.
    namespace будем использовать когда большинство наших хостеров будут поддерживать php 5.3
  • KaFe

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz 25 сентября 2010 г. 9:22, спустя 3 минуты 6 секунд

    wats, большинство наших хостеров посылается лесом и покупается забугорный хостинг, либо свои дата центры xD
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 25 сентября 2010 г. 9:23, спустя 1 минуту 1 секунду

    наших хостеров

    да тут все просто. как и в 2005ых пхп5 уже был давно, а хостеры подтянулись только к 9ому году, так что 5.3 будет гдето в 2015ом в лучшем случае :)
    Сапожник без сапог
  • wats

    Сообщения: 134 Репутация: N Группа: Кто попало

    Spritz 25 сентября 2010 г. 9:31, спустя 8 минут 4 секунды

    смотрел фреймворк кохана, там autoload ищет и грузит классы из папок application, modules (при чем он пробегает по всем подключенным модулям) и system, дык там что то эта проблема с именами никак не решена, создав в application класс с таким же названием как в папке system или в каком нибудь модуле, получаешь fatall error
    Спустя 215 сек.

    wats, большинство наших хостеров посылается лесом и покупается забугорный хостинг, либо свои дата центры xD

    ну и нах это надо пользователям, которые будут использовать сию систему?!
    Спустя 152 сек.
    да тут все просто. как и в 2005ых пхп5 уже был давно, а хостеры подтянулись только к 9ому году, так что 5.3 будет гдето в 2015ом в лучшем случае :)

    вот именно :D
  • KaFe

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz 25 сентября 2010 г. 9:35, спустя 4 минуты 3 секунды

    wats, ну тогда задай другие имена своим классам, как ни странно в английском языке до кучи синонимичных слов ;)
  • wats

    Сообщения: 134 Репутация: N Группа: Кто попало

    Spritz 25 сентября 2010 г. 9:38, спустя 2 минуты 57 секунд

    KaFe, это не решит проблемы.
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 25 сентября 2010 г. 9:47, спустя 9 минут 10 секунд

    wats, посмотри как это решено в зендфреймворке
  • wats

    Сообщения: 134 Репутация: N Группа: Кто попало

    Spritz 25 сентября 2010 г. 9:59, спустя 11 минут 47 секунд


    wats, посмотри как это решено в зендфреймворке

    Пока бегло так глянул, там префиксы используются, не очень мне это нравится, но видимо лучше ничего не придумаешь(
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 25 сентября 2010 г. 10:03, спустя 4 минуты

    а как по мне, то очень удобно
    Zend_Application_Module_Bootstrap == Zend/Application/Module/Bootstrap.php
  • wats

    Сообщения: 134 Репутация: N Группа: Кто попало

    Spritz 25 сентября 2010 г. 10:17, спустя 13 минут 45 секунд

    NRG, вообщем то да, удобно, но вот например в названиях вьюверов тоже префиксы что ли использовать?! Хрень получится.
  • KaFe

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz 25 сентября 2010 г. 11:27, спустя 1 час 10 минут 27 секунд

    wats, ах, да я в своем процедурном фрейме префиксы использую, и все в порядке xD
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 25 сентября 2010 г. 12:59, спустя 1 час 31 минуту 49 секунд

    Да, префиксы самое простое решение
    adw/0

Пожалуйста, авторизуйтесь, чтобы написать комментарий!