Pull to refresh

Comments 17

Хочу обратить внимание общественности на один интересный факт — внутри пхп LONG есть, но в самом коде инты всегда знаковые.

ip2long — вернет лонг, но ip2long+1 выдаст инт :)
И приходиться изращаться борясь с потерей старшего бита и перегрузкой инта в два миллиарда

Смешно правда?
Эм, не понял немного.
long который в C — это int который в PHP.

И естественно IP со знаком не поместился бы в int(PHP), вот поэтому и нужно мучать старший байт. Посмотри второй пример в описании этой функции — станет понятно, почему надо извращаться.
Вот только типы данных в пхп всегда были 64 битные…
обидно :(
UFO just landed and posted this here
А что именно вам бы хотелось?
допустим обьект стринг, инкапсулирующий некоторые строковые функции, и адекватно работающий со встроенными функциями и операторами
$objString = new String(«Hello»);
$objString->append(" World");
if( $objString->serch(«llo») )
{
echo «in ». $objString. " exists substring 'llo' on". $objString->indexOf('llo'). ' index';
}
хм, ни разу не пробовал писать свои операторы. Про остальное постараюсь написать на днях. Если найду информацию про операторы, расскажу и про них)
А мне хотелось бы узнать как в случае создания своего модуля, реализовать на C работу с ассоциативными массивами и особенно (звучит ужасно, конечно, но просто нужно) как в C сделать как бы аналог PHP'шного eval'a или использовать уже существующий (что лучше).
В книге вопрос ро массивы раскрыт, все просто, но функций много.
Насчет аналога евала — это встраивание.
Встраивание чего и куда? (или это я до такой степени уже C забыл?)
Про встраивание в след. раз напишу )
UFO just landed and posted this here
Пример для класса строк:
Это будет медленнее, чем на чистом пхп — ведь придется кастовать типы в с, потом в пхп для передачи, вызывать ф-ии из пхп через евал, кастовать обратно в с, потом кастовать обратно в пхп )

Либо придется переписывать стандартные строковые функции, что есть гемор. Про работу с классами можно глянуть вкниге — цель статьи была в «дать пинка к изучению», ичиттывая фактор, что в винде сложно очень создать проект.
UFO just landed and posted this here
FFI в PHP просит двух вещей: молотка сверху и наковальни снизу.
А еще документации, которой реально нет вообще — есть только для ZE1, для ZE2 нет практически ничего, а на носу уже ZE3.
Sign up to leave a comment.

Articles