Pull to refresh
6
0
kooler @kooler

User

Send message
Ходил позавчера — интересный опыт. Анимации довольно прикольно смотреть (там в 30 минутном сеансе 2 мультика и 2 короткометражных фильма), только харит головой постоянно вертеть со стороны в сторону.
Описаный автором метод больше подходит для парсинга сайтов(как в последнем примере), нежели для эмуляции браузера. Эмуляция, в данном случае, только метод достижения цели.
Насколько знаю в таких случаях Селениум не используется(пните если неправ).
В статье используется немного незаконченный декоратор, так как он не имеет общего интерфейса с компонентом. Достаточно дописать
class CachingDecorator implements MyDBInterface {}

где MyDBInterface — интерфейс, имплементируемый декорируемым классом MyDBClass, и проблема будет решена
function doSomething(MyDBInterface $db) { ... } 

Скорей всего данный нюанс неактуален в проекте автора, вон он и не довел до конца.
Связь задается при помощи аннотаций — определенного формата комментариев.
Таким образом аннотация вида:
/*
 * @After(Backet->order)
 */
public function backetOrderMessage($params) {
 echo ‘Backed has been ordered’;
}

значит, что совет backetOrderMessage нужно вызвать после выполнения метода order обьектов класса Backet.
Более детально о возможных аннотациях можно почитать в документации на Гитхабе: github.com/kooler/PAF/wiki/PAF-Join-points
Спасибо за замечания касательно eval и финализации конструктора, исправлю.

Насчет параметров совета — планирую в следующей версии модуля сделать аналогично методу __call.
Сначала планировал передавать больше информации в совет, поэтому и сделал в виде массива, чтобы проще было расширить. Но немного поработав с модулем вижу, что кроме обьекта и аргументов ничего не нужно, поэтому решил переделать, пока он еще на ранней стадии и никем не используется.
У меня пальцы часто «автоматически» нажимают Ctrl+S, при этом в большинстве случаев при незаконченом функционале. Поэтому ИМХО тестирование после коммита удобней.
Мне кажется, что для программиста задавать точки соединения при помощи регулярных выражений удобней всего.
Что бы посоветовали добавить?
Расширения Intercept и MethodIntercept так и делают. Они заменяют функцию вызывающую методы\функции оберткой, соответственно вызов советов выполняется на уровне Zend Engine.
Иногда полезно перенимать опыт.
Это Intercept обновлялось в 2005, на базе него я разработал свое(MethodIntercept), которое обновлялось позавчера). Если окажется кому-то нужным, могу занятся разработкой и поддержкой.
Расширение то есть(описаное в статье), но оно конечно пока сырое, до продакшена еще далеко.
Статья написана не для демонстрации PHP Дзы. Класс взят просто для примера. Думаю там можно много чего нарыть)
Что вы понимаете под полноэкранным? Пример калькулятора из статьи тоже можно развернуть на весь экран, он обрабатывает перемещения мыши(можно нажимать на разные кнопки) и нажания клавиш клавиатуры(можно вводить текст в поле ввода). Многое зависит от целевой ОС. На iOS точно нельзя)
Как по мне совсем не зло, если приложение не большое и написано не для enterprise сектора. Можете себе представить клиент банка или бухгалтерское приложение написанное на PHP? Разработчики не развивают PHP в сторону разработки GUI apps, поэтому библиотеки сыроваты да и документации(а тем более с примерами) не много.
Как по мне совсем не зло, если приложение небольшое и пишется не для enterprise сектора. Можете себе представить клиент для банка или электронную бухгалтерию написанную на PHP? Разработчики не очень развивают PHP в направлении разработки GUI приложений, поэтому библиотеки сыроваты да и документации(а тем более с примерами) не много.
Да, можно, нужно использовать GladeXML::new_from_buffer
Все таки будут, так как сейчас много свободного времени проводят в кинотеатрах, ресторанах и др. Как только начнутся проблемы с деньгами, все эти виды развлечений отпадут и останутся более дешовые — среди которых интернет.
Адитория у них и так прибавится, как, впрочем, и у других соц. вервисов. Так как в связи с кризисом люди будут больше времени проводить в вебе.
Неплохо бы сделать систему обучающейся на основе обсуждений врачей. И при составлении карточки(внесения в систему списка симптомов) ставить «возможный диагноз». Это поднимет интерес к системе не только у врачей, но и у пациентов.
1

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity