The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Zend Framework перешёл под крыло организации Linux Foundation, opennews (?), 17-Апр-19, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


16. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +2 +/
Сообщение от Василий (??), 17-Апр-19, 23:41 
Чем современный PHP принципиально отличается от того же питона? От джавы? От любого другого ЯП общего назначения? По пунктам, пожалуйста.
Ответить | Правка | Наверх | Cообщить модератору

19. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от kai (??), 18-Апр-19, 00:25 
Запили event loop на php
Ответить | Правка | Наверх | Cообщить модератору

20. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +2 +/
Сообщение от KonstantinB (ok), 18-Апр-19, 00:31 
Легко. Выбирай, что больше нравится: https://pecl.php.net/packages.php?catpid=44&catname=Event
Ответить | Правка | Наверх | Cообщить модератору

30. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от Онаним (?), 18-Апр-19, 10:13 
Делать из буханки хлеба троллейбус? Можно. Но зачем? В PHP совершенно другая модель программирования, не надо тянуть туда костыли классического типа.
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

21. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от KonstantinB (ok), 18-Апр-19, 00:35 
Если сравнивать с Java - лично мне дженериков не хватает. В принципе, это компенсируется хорошей IDE со статическим анализатором и phpdoc-хинтами.

Стандартная библиотека, конечно, объективно кривая, но за 15 лет я привык :-)

Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

22. "Zend Framework перешёл под крыло организации Linux Foundatio..."  –2 +/
Сообщение от Кенгуру (?), 18-Апр-19, 06:15 
> Чем современный PHP принципиально отличается от того же питона?

Уродством синтаксиса. Сравни:

if ($object.method()==1) {
  echo("Hello");
}

if object.method():
  print("Hello")

Что режет глаз?

Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

23. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от трурль (?), 18-Апр-19, 06:41 
НЕХ в первом примере. Это на каком языке?
Ответить | Правка | Наверх | Cообщить модератору

63. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от Кенгуру (?), 18-Апр-19, 20:38 
> НЕХ в первом примере. Это на каком языке?

Точно, ПЫХ ещё более уродлив:

if ($object=>method()==1) {
  echo("Hello");
}

Ответить | Правка | Наверх | Cообщить модератору

24. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +1 +/
Сообщение от istepan (ok), 18-Апр-19, 07:02 
if ($object.method())
  echo 'Hello';
Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

25. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от q (??), 18-Апр-19, 07:07 
if ($object()) {
    echo 'Привет!';
}

Можно и так, вам просто не хватает образования.

Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

33. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от пох (?), 18-Апр-19, 10:25 
вашего образования, похоже, не хватило даже на понимание, что там проверялось совсем другое условие.
Ответить | Правка | Наверх | Cообщить модератору

29. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от Онаним (?), 18-Апр-19, 10:11 
Режет глаз второе. Особенно отсутствие скобок вокруг условия, отсутствие then - ":" вместо такового, отсутствие символа завершения ";". Ну и лично меня ещё бесит бейсиковый print, но это уже десятое. И кое что остаётся за кадром: значимые пробелы - то есть при неудачном копировании всё это разъедется.

if ($object->method() == 1)
    echo("Hello");

Вот так нагляднее.

Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

43. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +1 +/
Сообщение от имя (?), 18-Апр-19, 12:03 
Ничего ты не понимаешь! Это же фича, а не баг. Любой питонер тебе это скажет.
Ответить | Правка | Наверх | Cообщить модератору

50. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +6 +/
Сообщение от rshadow (ok), 18-Апр-19, 12:23 
Если кратко: чем больше узнаю питон, тем javascript все больше кажется нормальным языком.
Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

32. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от пох (?), 18-Апр-19, 10:22 
> Чем современный PHP принципиально отличается от того же питона? От джавы? От любого другого ЯП
> общего назначения? По пунктам, пожалуйста.

только в нем можно внезапно-исполнить подвернувшийся чужой код при попытке просто проверить существование файла ;-) Попробуйте-ка добиться такого на жабе!

Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

37. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от Онаним (?), 18-Апр-19, 10:43 
Не можно, нужно phar:// к названию файла препендить. Ну, если кто-то из юзеринпута не валидирует имена файлов и не меняет их перед записью - я ему сочувствую изначально, phar-десериализация там далеко не самый страшный вариант.
Ответить | Правка | Наверх | Cообщить модератору

40. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от пох (?), 18-Апр-19, 10:58 
я уже устал у тебя спрашивать, что неправильного в моем файле phar://mycat.jpeg ?

Если кто-то не вылезает из милой десяточки, у меня для него неприятный сюрприз - это валидное имя.

> Ну, если кто-то из юзеринпута не валидирует имена файлов и не меняет их перед записью

сверяясь с данными из будущего, какие еще волшебные буквы, ВНЕЗАПНО разработчикам взбредет в голову интерпретировать как код?

я и говорю - унылое г-но эта ваша жаба, совершенно неинтересно на ней программировать. (у пихона тоже нет такого функционала, но в них я верю, они наверняка уже заняты изобретением еще лучших возможностей что-нибудь внезапно поисполнять)

Ответить | Правка | Наверх | Cообщить модератору

46. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от Онаним (?), 18-Апр-19, 12:13 
Что неправильного? Наличие протокольного префикса, его как бы в юзеринпутфиленаме быть не должно, не? И вообще не должно, если ты не хочешь файл как phar трактовать. А если хочешь - какие претензии? Как написано, так и исполняется.
Ответить | Правка | Наверх | Cообщить модератору

62. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от пох (?), 18-Апр-19, 18:41 
откуда ж я знал десять лет назад, что это протокольный префикс?
у меня это имя каталога. С двоеточием на конце. Там рядом еще собачка и цветочек.

А удвоить / - в общем-то, много где можно совершенно случайно.

Ответить | Правка | Наверх | Cообщить модератору

67. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от Онаним (?), 18-Апр-19, 22:20 
И вы юзеру позволяете шариться по вашей файловой системе с : и /, конечно же, прямо из инпута. Ну сочувствую, чего. У нас этого допустим быть не может, потому что быть не может by design - пространство имён файловой системы 100% оторвано от юзеринпута.
Ответить | Правка | Наверх | Cообщить модератору

71. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от пох (?), 19-Апр-19, 09:39 
мы можем позволить юзеру создавать подкаталоги, да.
Но языки приходится использовать без странностей.

> потому что быть не может by design - пространство имён файловой системы 100% оторвано от
> юзеринпута

ну правильно, ведь файловая система - она для чего угодно, только не для хранения файлов - в том числе, со времен dos2.0 - иерархического. Будем криво-косо дублировать ее функционал на нескучных язычках, а то...а то они выполнят файл как код при попытке всего лишь поинтересоваться, есть ли он вообще на диске. Так победим!


Ответить | Правка | Наверх | Cообщить модератору

73. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от Онаним (?), 19-Апр-19, 09:53 
Почему? Всё прекрасно раскладывается по каталогам и ещё шардится по пачке нод. Но вот юзерские имена файлов - все в БД, там юзер может хоть "у попа была собака" писать, и собственную структуру каталогов иметь, движок всё равно разложит так, как оптимально движку, юзер этого просто не видит.
Ответить | Правка | Наверх | Cообщить модератору

77. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от пох (?), 19-Апр-19, 12:47 
> Но вот юзерские имена файлов - все в БД

ну и зачем? Теперь вместо одного поиска  нужны два - один в дереве фс, другой в бд.
Теперь можно проиметь файл с диска, но сохранить в бд, к удивлению юзера, или наоборот - потерять запись, но из-за каких-то причин не успеть удалить файл.

Теперь будем писать к этому свою "fsck", которая попытается устранить неконсистентность, да?

Ответить | Правка | Наверх | Cообщить модератору

54. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от KonstantinB (ok), 18-Апр-19, 13:53 
На самом деле, проблема не в phar, а в unserialize. Phar это еще один извращенный способ эксплуатировать unserialize magic. Java Deserialization Vulnerability имеет ровно ту же природу. Сама по себе универсальная (де)сериализация, позволяющая создать объект любого класса (и триггернуть все связанные с этим сайд эффекты) - так себе идея.
Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

56. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от Онаним (?), 18-Апр-19, 14:09 
Начиная с 7.1 можно в ансериалайз воткнуть опцию allowed_classes=false, но вообще передача юзерских данных в ансериалайз - зло.
Ответить | Правка | Наверх | Cообщить модератору

59. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от пох (?), 18-Апр-19, 14:17 
по-моему проблема в подмене файлового апи uri'шным вместо изобретения отдельного, в котором нет места, к примеру, проверкам существования.
Зато так проще, ага.

Ответить | Правка | К родителю #54 | Наверх | Cообщить модератору

68. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от Онаним (?), 18-Апр-19, 22:21 
Стримовым. Там кроме URI можно много чего весёлого нафигачить, и это очень удобно.
Ответить | Правка | Наверх | Cообщить модератору

69. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от Аноним (69), 19-Апр-19, 02:39 
Не, ну сама идея everything is a file вполне юниксвейная, plan9, вот это все.
Ответить | Правка | К родителю #59 | Наверх | Cообщить модератору

72. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от пох (?), 19-Апр-19, 09:40 
> Не, ну сама идея everything is a file вполне юниксвейная, plan9, вот

не, тут как раз etherything is a stream. А что нужно иногда просто работать с файлами - да зачем вам, в самом-то деле.

Ответить | Правка | Наверх | Cообщить модератору

79. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от KonstantinB (ok), 20-Апр-19, 09:03 
> не, тут как раз etherything is a stream

ну так как в plan9 как раз

Ответить | Правка | Наверх | Cообщить модератору

38. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от Онаним (?), 18-Апр-19, 10:46 
Ну и чужой код исполнить не получится - только зарядить объекты из исходного кода. Вот если в этих объектах где-нибудь eval - тогда уже интереснее, а за eval в коде надо нещадно ***ть морально до полного понимания. Да, бывают и интереснее eval'а места, но это уже очень редкость и специфика - и, повторюсь, сначала надо phar:// запрепендить, что при корректной организации user data storage уже нереально.
Ответить | Правка | К родителю #32 | Наверх | Cообщить модератору

42. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от Аноним (42), 18-Апр-19, 11:53 
CMS на пыхе без eval покажите мне. Хочется посмотреть на это чудо генной инженерии.
Ответить | Правка | Наверх | Cообщить модератору

44. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от имя (?), 18-Апр-19, 12:05 
а зачем там вообще eval?

делаешь

$my_class = "\Namespace\Foo";

$my_obj = new $my_class;

и будет тебе счастье.

Ответить | Правка | Наверх | Cообщить модератору

45. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от Онаним (?), 18-Апр-19, 12:12 
Как зачем? Быдлошкололокодеры без eval - никак.
Ответить | Правка | Наверх | Cообщить модератору

60. "Zend Framework перешёл под крыло организации Linux Foundatio..."  +/
Сообщение от Anonim (??), 18-Апр-19, 14:24 
Современный  PHP относительно неплох, как язык, но всё вот это легаси... особенно его стандартная библиотека, начиная от элементарных строк, массивов и так далее.. это же кошмар какой-то.. Это ещё не было речи про легаси-код, хотя, лучше не надо
Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру