> Сразу оговорюсь, в другом языке, можно было обойтись абстрактным классом и его наследниками, но поскольку в PHP нельзя переопределить статическую функцию, предков разделили на интерфейс + базовый класс.
В Вашем варианте можно сделать «class CPurchase implements InterfacePurchase» что позволит переложить проверку сигнатур методов на PHP.
Я один заметил, что при выполнении этот блок
> case self::PURCHASE_SHOP:$purchase = new CPurchaseShop();
> case PURCHASE_ACCOUNT: $purchase = new CPurchaseAccount();
> case PURCHASE_RAIT: $purchase = new CPurchaseRait();
> //…
> default: throw new ExceptionUnknownPurchaseType (__CLASS__);
> Кроме того, какая вероятность того, что автор согласится за деньги что-то допилить?
Ничего не мешает спросить об этом самого автора, и даже если откажется, всегда можно найти программиста который сможет это сделать (не бесплатно естественно).
Если фича полезная можно найти единомышленников и скинуться на её реализацию.
Можно самому помочь.
Вариантов на самом деле очень много.
> Тогда теряется весь смысл open source.
Выложите купленный код в общий доступ, тем самым Вы поможете проекту и поддержите идеологию open source.
> Потому что платить за опен сорс не вижу смысла
Так не платите, никто не заставляет. Но в таком случае — как можно чего то требовать от автора? Он Вам ничего не должен.
Включите в настройках «Ситуация по задачам» -> «Разрешить пересечение задач по проектам». После этого можно будет задачи как угодно связывать. (Redmine 0.9)
Я с Вами согласен, разве что забыли добавить пометку активной страницы.
Но почему-то мне кажется, что большинство напишет как в первом примере (если приложения не только для себя это рано или поздно случится, т.к. проверять всех кто правит шаблоны не будешь). Разбираться в подобных шаблонах у меня желания нет, т.е. для себя я сделал вывод: в тех приложениях где нельзя гарантировать определенный уровень XSLT верстальщика (а они есть?) предпочтительнее обычный шаблонизатор.
Я не говорил что XSLT плохой, преимущества у него есть и их глупо отрицать. Но вот синтаксис удобным назвать нельзя и в больших шаблонах получается действительно мешанина.
Работал с XSLT немного (верстка для HostCMS), по-моему главный его недостаток в том, что неудобно читать шаблоны — мешанина из тэгов (разные пространства имен не спасают).
Если не ошибаюсь, это не проблема, по крайней мере, в 5.2.* это, похоже, сознательно убрано. Нашел bugs.php.net/bug.php?id=45691, возможно, как раз из-за него.
WinCacheGrind — пробовал с последним xdebug ни один лог не открыла, после чего была выкинута.
Поставил CachegrindVisualizer — удобно и главное работает, но кроме Adobe AIR понадобиться graphviz и zgrviewer.
Работа происходит следующим образом:
1) Запускаем скрипт, получаем лог
2) Открываем его в CachegrindVisualizer (если файл большой может зависнуть)
3) После того как CachegrindVisualizer отработал, в той же директории, находим *.dot, который открываем в zgrviewer
4) Смотрим.
Если *.dot большой ждать нужно долго или может не хватить памяти. В последнем случае узнать об этом проблематично, т.к. выброшенное исключение отобразиться в консоле (т.к. zgrviewer запускается через bat файл), которая закрыта окном.
Меня больше другое удивляет: зачем мне как радиотехнику вообще пытались преподавать паскаль и html?!
Пытались, потому что те, кому это было интересно ничего нового не узнали, а те, кто не знал, лучше бы и не знали, т.к. знания которые нам (про других не знаю) давали – очень поверхностны и устаревшие на пару лет как минимум. Т.е. практической пользы от этого не было никакой.
Тем более обе (я про программирование) специальности полезны и в некоторых областях довольно тесно пересекаются (микроконтроллеры, ПЛИС-ы и тд.).
+ есть несколько знакомых программистов (не только web), которые в прошлом были радиотехниками (или увлекались этим). Им (как и мне) это не мешает, скорее даже наоборот.
Рад за тех у кого на первых двух курсах было время чтобы делать что-то кроме учебы. К сожалению, в моем случае на 1 и 2 курсах времени на что-то еще не оставалось. (специальность Радиотехника, сам web-программист).
На третьем стало по легче, на этом курсе действительно можно пойти работать и довольно успешно. У нас этот курс был переломным — кончались общие предметы (большинство из которых мне тогда казались лишними, впрочем сейчас считаю, что я ошибался, т.к. сейчас времени даже на простое знакомство с ними нет) и начинались по специальности.
Четвертый курс — переломный — на нем окончательно выбираешь что для тебя важнее — учеба или работа. Как правило, те кто выбирает первый вариант (я, например) большую часть времени отдают учебе, работе остается минимум времени. Если важнее работа (причины могут быть разные — нужны деньги, учиться надоело, пришло понимание что выбранная специальность не пригодиться) — тогда учебе минимум времени, но как правило сессии сдаются очень удачно (не зря же работаем:)?).
Пятый курс — продолжение 4 курса, т.к. если учился, то диплом делается без проблем (хотя и отнимает много времени), если работал — есть наработанные контакты среди преподавателей…
По поводу «взлета» — это может быть как пятый курс, так и время после окончания учебы (если не идти в армию), по-моему потеря одного года это не страшно (если он был потрачен с пользой).
Я не говорил про алкоголь, т.к. и сам употребляю :), хотя и не помню чтобы отец пил при мне.
> Я даже пообщеал ему не пить… ***И пил***, а теперь не пью…"
про это и речь, только в случае с наркотой последствия хуже.
> И я все это сам, самостоятельно!
Вас, знание того, что это плохо не оставило. Почему Вы думаете, что в случае с наркотой все будет по другому? (тем более когда вот она, на столе лежит).
Все, кто за легализацию наркотиков и подобных вещей, а также за то, чтобы ВАШИ дети сами выбирали — не пишите йухню!
Если Вы в самом деле верите, что ВАШИ дети намного лучше/умнее чем другие и не будут употреблять всё это — купите героина/траву/<еще что-то> положите на видное место у СЕБЯ ДОМА, объясните СВОЕМУ ребенку что и как (в плане использования) и главное — не забудьте сказать, что это ЕГО выбор употреблять или нет. После этого спокойно можете ехать на недельку другую отдыхать куда нибудь на море…
Это и сейчас можно, вот так, например, pastebin.ru/308744
В Вашем варианте можно сделать «class CPurchase implements InterfacePurchase» что позволит переложить проверку сигнатур методов на PHP.
Я один заметил, что при выполнении этот блок
> case self::PURCHASE_SHOP:$purchase = new CPurchaseShop();
> case PURCHASE_ACCOUNT: $purchase = new CPurchaseAccount();
> case PURCHASE_RAIT: $purchase = new CPurchaseRait();
> //…
> default: throw new ExceptionUnknownPurchaseType (__CLASS__);
работает совсем не так, как ожидается?
Ничего не мешает спросить об этом самого автора, и даже если откажется, всегда можно найти программиста который сможет это сделать (не бесплатно естественно).
Если фича полезная можно найти единомышленников и скинуться на её реализацию.
Можно самому помочь.
Вариантов на самом деле очень много.
> Тогда теряется весь смысл open source.
Выложите купленный код в общий доступ, тем самым Вы поможете проекту и поддержите идеологию open source.
> Потому что платить за опен сорс не вижу смысла
Так не платите, никто не заставляет. Но в таком случае — как можно чего то требовать от автора? Он Вам ничего не должен.
Все IMHO, естественно.
Включите в настройках «Ситуация по задачам» -> «Разрешить пересечение задач по проектам». После этого можно будет задачи как угодно связывать. (Redmine 0.9)
Но почему-то мне кажется, что большинство напишет как в первом примере (если приложения не только для себя это рано или поздно случится, т.к. проверять всех кто правит шаблоны не будешь). Разбираться в подобных шаблонах у меня желания нет, т.е. для себя я сделал вывод: в тех приложениях где нельзя гарантировать определенный уровень XSLT верстальщика (а они есть?) предпочтительнее обычный шаблонизатор.
Для примера, часть реального шаблона: pastebin.org/55704
Удобно? Понятно? Мне — нет.
Поставил CachegrindVisualizer — удобно и главное работает, но кроме Adobe AIR понадобиться graphviz и zgrviewer.
Работа происходит следующим образом:
1) Запускаем скрипт, получаем лог
2) Открываем его в CachegrindVisualizer (если файл большой может зависнуть)
3) После того как CachegrindVisualizer отработал, в той же директории, находим *.dot, который открываем в zgrviewer
4) Смотрим.
Если *.dot большой ждать нужно долго или может не хватить памяти. В последнем случае узнать об этом проблематично, т.к. выброшенное исключение отобразиться в консоле (т.к. zgrviewer запускается через bat файл), которая закрыта окном.
Если нужно просмотреть много логов — надоедает.
Пытались, потому что те, кому это было интересно ничего нового не узнали, а те, кто не знал, лучше бы и не знали, т.к. знания которые нам (про других не знаю) давали – очень поверхностны и устаревшие на пару лет как минимум. Т.е. практической пользы от этого не было никакой.
Тем более обе (я про программирование) специальности полезны и в некоторых областях довольно тесно пересекаются (микроконтроллеры, ПЛИС-ы и тд.).
+ есть несколько знакомых программистов (не только web), которые в прошлом были радиотехниками (или увлекались этим). Им (как и мне) это не мешает, скорее даже наоборот.
На третьем стало по легче, на этом курсе действительно можно пойти работать и довольно успешно. У нас этот курс был переломным — кончались общие предметы (большинство из которых мне тогда казались лишними, впрочем сейчас считаю, что я ошибался, т.к. сейчас времени даже на простое знакомство с ними нет) и начинались по специальности.
Четвертый курс — переломный — на нем окончательно выбираешь что для тебя важнее — учеба или работа. Как правило, те кто выбирает первый вариант (я, например) большую часть времени отдают учебе, работе остается минимум времени. Если важнее работа (причины могут быть разные — нужны деньги, учиться надоело, пришло понимание что выбранная специальность не пригодиться) — тогда учебе минимум времени, но как правило сессии сдаются очень удачно (не зря же работаем:)?).
Пятый курс — продолжение 4 курса, т.к. если учился, то диплом делается без проблем (хотя и отнимает много времени), если работал — есть наработанные контакты среди преподавателей…
По поводу «взлета» — это может быть как пятый курс, так и время после окончания учебы (если не идти в армию), по-моему потеря одного года это не страшно (если он был потрачен с пользой).
> Я даже пообщеал ему не пить… ***И пил***, а теперь не пью…"
про это и речь, только в случае с наркотой последствия хуже.
> И я все это сам, самостоятельно!
Вас, знание того, что это плохо не оставило. Почему Вы думаете, что в случае с наркотой все будет по другому? (тем более когда вот она, на столе лежит).
Все, кто за легализацию наркотиков и подобных вещей, а также за то, чтобы ВАШИ дети сами выбирали — не пишите йухню!
Если Вы в самом деле верите, что ВАШИ дети намного лучше/умнее чем другие и не будут употреблять всё это — купите героина/траву/<еще что-то> положите на видное место у СЕБЯ ДОМА, объясните СВОЕМУ ребенку что и как (в плане использования) и главное — не забудьте сказать, что это ЕГО выбор употреблять или нет. После этого спокойно можете ехать на недельку другую отдыхать куда нибудь на море…
Слабо?