Pull to refresh

Comments 20

UFO just landed and posted this here
черт, вы меня опередили )
Хотя я все равно напишу!
Я три дня в свободное время её готовил :) Шустрее надо быть, шустрее.
Хорошо вам. Я месяц готовлю %) Мало времени совсем.
Уже 3 раза бросал с мыслями, что писать — не мое, что никогда не допишу и т.п. Но решил добить все-таки…
=) осталось пнуть зенда чтоб реализовали в ядре строки и числа обьектами
кстати, по моему эта функция не совсем корректна:
PHP_METHOD(PHP_MYSTRING_CLASS_NAME, __toString)
{
	RETURN_STRINGL((char*)PHP_MYSTRING_CLASS_NAME, sizeof(PHP_MYSTRING_CLASS_NAME)-1, 1);
}


наверное надо было возвращать содержимое вместо названия класса, это ведь как никак строка =)
Ну, мы можем вернуть и строку, это не проблема, как мы уже выяснили — как сама строка, так и ее длина с лёгкостью вытягиваются. Другое дело, что мы лишний раз куда-то приткнули имя класса :) А еще очень часто существует практика отображения класс->строка = «имя класса», чем я в данном случае и руководствовался.
А еще есть такая штука Swig. Генерирует обертки к библиотеке, так что в результате билда получается экстенжн. Притом не только к PHP, но и к куче других языков можно (Ruby, Perl, Java, Lua etc).
Я её пробовал. Не знаю, как с другими языками, а с PHP у нее получается хрень собачья.
UFO just landed and posted this here
Генерит экстеншен, компилится, линкуется и… при запуске говорит «файл.so не является PHP-экстеншеном».
Книга Сары устаревшая
там про классы почти ничего нет
но почитать ее стоит

статья в целом отличная
лично я учился по ману
спасибо

Про классы там есть и, в принципе, достаточно для большинства задач.
Просто кроме Сары источников информации нет, только такие же редкие авторы статей. Если на том же php.net зайти в мануал — там есть доки по ZE1, и вообще нет документации по ZE2. Про ZE3 я молчу. Поэтому и возникает проблема.
есть немного в книге Профф программирование на РНР
хотя я согласен инфу надо собирать по кусочкам
и в основном з исиходников
да, такой вопрос:
сейчас модно реализовывать такие штучки:
$myClass = myClass();
$myClass->connect()
->setLimit(25)
->setQueueParms(27)
-> etc

достаточно ли будет в этом случае вернуть getThis()?
Домашнее задание: догадаться, как вернуть сам объект, чтобы можно было составлять цепочки вида $a->append(«a»)->append(«b»)...

Не буду же я абсолютно всё разжёвывать, в самом деле :)
Попробуйте, узнаете.
ну почему так остро воспринимать такой простой вопрос?
с этим, при необходимости я бы мог давно поиграться и сам. Как-никак три-четыре расширения за моими плечами. Но ответ, может пригодится для тех, на кого рассчитана эта статья.
Я не остро воспринимаю. Просто, как и автор первой части, хочу, чтобы люди думали и экспериментировали сами.
Sign up to leave a comment.

Articles