- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
public static function copyImage($params)
{
...
if (!UploadImage::getOrder($barcode, $num)) {
$num++;
return self::copyImage($filename, $code, $ext, $sync, $user_id, $num); //тут ебаная рекурсия
}
...
public static function getOrder($barcode, $num = 0)
{
if (Images::findOne(['order' => $num, 'barcode' => $barcode])){
return false;
}
return true;
}
вся эта рекурсия вместо простого...
public static function getOrder($barcode, $num = 0)
{
if (Images::findOne(['order' => $num, 'barcode' => $barcode])){
self::getOrder($barcode, $num + 1);
}
return $num;
}
dasauser 21.01.2019 16:56 # 0
gost 21.01.2019 18:38 # 0
Переводи на «Хаскель».
HoBorogHuu_nemyx 21.01.2019 19:02 # 0
gueest8 22.01.2019 00:33 # 0
А Хуйвгонве говорил что он за пхп именно по причине отсутствия там всего этого
HoBorogHuu_nemyx 22.01.2019 00:45 # 0
gueest8 22.01.2019 00:46 # 0
HoBorogHuu_nemyx 22.01.2019 01:46 # 0
guest8 22.01.2019 01:49 # −999
HoBorogHuu_nemyx 22.01.2019 02:02 # 0
http://govnokod.ru/18109
HoBorogHuu_nemyx 22.01.2019 02:00 # 0
Замыканий не было в PHP 5.2. Они появились 10 лет назад.
Генераторов не было в PHP 5.4. Они появились 5 лет назад.
Анонимные классы (которые можно возвращать как лямбду) появились в PHP 7.
Даже безо всего этого в «PHP» можно генерировать код на лету и скармливать его функции eval.
Плюс из коробки функции array_map, array_reduce (которые могут пробегать не только по настоящим массивам, но и по классам, реализующим интерфейс итератора; до появления замыканий они в качестве обработчика принимали имена функций) –— вот это всё.
j123123 22.01.2019 07:44 # 0
А еще можно написать на «PHP» компилятор из 〈Haskell〉 в «PHP» и потом вызывать в "компилтайме" (кодогенерация) этот компилятор. Или даже в рантайме, генерируя код налету и сразу же его исполняя через eval
HoBorogHuu_nemyx 22.01.2019 11:49 # 0
Теоретически можно всё. Да кто ж его напишет, да чтобы ещё и без багов?
dasauser 23.01.2019 10:05 # 0
u3yMpygHblu_nemyx 23.01.2019 12:26 # 0
unicorn 10.02.2019 21:10 # 0