All streams
Search
Write a publication
Pull to refresh
0
0
Boris P @AlexeyK

Пользователь

Send message
Мало ли какая ОС, да и то, что винда поддерживает - не есть стандарт.

Полностью динамическое задание path у вас не получится, у PHP с этим огромные косяки, которые никто не думает править, в любом случае вам придется либо один раз жестко дефайнить, либо постоянно держать директорию проекта в include_path.
Неудачников не копируют :)
Сейчас я ищу нечто большее, чем простую абстракцию к интерфейсу БД, нужен целый фреймворк, который устраивал бы меня по 2/3 своих возможностей, а такого пока я не видел.

К тому же планирую чуть позже совсем уйти из php.
VIA Чаппа респект за песню с Михеем, светлая ему память...
Толково.

Однако, безусловно, есть люди, которые "пиарят", а есть люди, которые этот пиар заказывают. Потом вступает в силу момент "перформанса", когда дядя покупает десятые проценты акций компании, тем самым подымая цену до небес (хотя умный человек сразу поймет, что дядя денег не много потратил, а резонанс большой, тут подвох), потом на сцену выходят главные действующие лица - "дойные коровы", т.е. дурачки, которые отдают миллиарды за более ощутимые доли в компании, компания взлетает до небес. Тут появляются клоны "заказчиков пиара", естественно, более мелкие, естественно для более мелких кампании, и так по нисходящей.

А задают тон те же ИТшники, которые провозгласили "невероятную ценность информации, человеческих отношений и всего остального, что нематериально", за ними последовали другие :)

Все это рухнет, если так будет продолжаться, как с рынком недвижимости в США, только в несколько раз сильнее..
Я не пишу "как нужно", если вы заметили, я просто правильно выразил мысли человека, а правильные они или нет - пусть другие исправляют :)

А Singleton нужен в случае, когда вам нужен exactly one instance of your class :) Причем экземпляр создается, сам по себе класс несет нагрузку объекта...А Registry в данном случае - нет.
Вы понимаете в чем вообще предназначение шаблонов, в чем тут суть и логика заключается? И почему собственно Singleton? :)
Там все до ужаса просто, никаких особых features я не заметил. Нормальные вещи (те же quote*) реализованы достаточно тупо, когда в метод попадает integer оно зачем-то квотит его, ну и подобные мелочи. Смысл обеих этих функций в одном и том же, только quoteIdentifier еще в `` квотит, но в мануале ничего нормально не неписано, есть еще escapeSimple, короче, полный бред...

А еще я хотел иметь аналог mysql_last_id(), т.к. в PEAR::DB этого ПОЧЕМУ-ТО нет :) Зато там есть некие sequences, которые вместо возврата LAST_INSERT_ID позволяют создавать последовательности вставок, где будет храниться LAST_INSERT_ID, короче там вместо 1 функции приходится использовать 3 с мудреной логикой, причем для каждой sequence создается еще и своя таблица в бд...с ума сойти :)
Варианты реализации отличаются по сути только синтаксисом, шаблоны на то и шаблоны, что условия в них жесткие :)

А извиняться вам не за что, все мы учимся :)
Мне понадобилось изменить поведение функций quoteIdentifier и quoteSmart, решил делать стандартно через полиморфизм, у меня вообще PEAR::DB подружался через extended класс, который реализован как Singleton, чтобы не держать кучу соединений с базой. Поэтому я и решил переопределять все через DDB просто переопределив функции, но не тут то было...Создаваемый в приложении instance класса DDB на самом деле являлся экземпляром DB и никакими хаками мне это обойти не удалось, предлагали использовать Decorator pattern, по-моему, но результато это не дало никакого.

Решил, что больше PEAR штуки в проектах постараюсь не использовать :)
Драйвер нужен в любом случае для работы с БД, он никак не вписывается ни в вид, ни в контроллер, только отдаленно относится к модели представления данных.
Кто-то из нас определенно тупит :)
в PHP4 нет ни public, ни static в данном контексте. А что вы подразумеваете под "неполноценными" и "полноценными" классами мне не понятно...

Есть такой шаблон - Singletone, это и есть его реализация.
значит вы еще не пользовались PEAR::DB, который переопределить у меня НУ НИКАК не получилось, а хотелось добавить кое-какой функционал и логику :)
SPL тут ни к чему, все нормально решается стандартными методами и поставкой :)
Если вы используете PHP5 и пишете, что все ТОЛЬКО для PHP5, будьте добры использовать exceptions, а не die :) И область видимости методов отмечайте, статичность и т.п. :)

$site_path можно было define('ROOT_PATH', '/var/www/localhost/htdocs'), вместо переменной, DIRSEP как-то не смотрится по сравнению с DIRECTORY_SEPARATOR, последнее хоть и длиннее, но дает четкое понимание "куда я попал" :)

Ах да, еще include...давайте уже include_once или require_once, что будет правильнее, вы же проверяете на существование файла :)

В общем все, в принципе понравилось :)
Из определения регистра для данного случая следует, что он должен быть ОДИН :)

А вообще флаг вам в руки, убирайте сингтон и делайте как хотите.
Вообще делается

$ob = SignetoneClass::getInstance();

public static function getInstance() {
if(!is_object(self::$_instance)) {
$c = __CLASS__;
self::$_instance = new $c;

return self::$_instance;
} else {
return self::$_instance;
}

}

И никаких объектов.

Как-то так :)
2.5 тысячи рублей против 600 в .ru
в отдельном окне.
Это же PACMAN! :)
Интересно, как появилась эта идея у самих LG :)
Прикрутите OpenID, много людей придет, половина боится пароли выкладывать.
А так - ну ОЧЕНЬ хорошая вещь :)

Information

Rating
Does not participate
Registered
Activity