Так вы его как выложили то как хранилище для данных? В таком виде оно врятли чем то лучше redis.
т.е. для CMS от Tarantool будет не много проку. нужно приложение (или CMS) писать полностью на Tarantool/Lua это у вас возможно?
сочуствую. но у меня так получается — что клиенты с устаревшими движками под php 5.2 слишком мало платят и слишком многого хотят. поэтому задерживаются не долго.
а в основном неважно на чем там работает. главное чтоб запускалось. так что а я вот просто пишу новые проекты и функционал уже на php7, как в bitrix добавят поддержку вообще заживем.
для любителей старых версий получается просто дополнительные накладные расходы за перевод под старые версии php. имхо так и надо с клиентами иначе будут сидеть на старых ветках до скончания веков
эти любители ооп в конец распоясались — сколько хороших продуктов в стагнации из за той же simphony — drupal, phpbb и другие — вместо развития продукта и улучшения api — пытаются перестроить устоявшуюся структуру и впхнуть компоненты фрейморка — а в результаты получается франкеншейн
для поточной обработки сущесвуют генераторы с yeild
http://php.net/manual/ru/language.generators.overview.php — где можно уместить логику в одной функции
а итераторы на классах с кучей методов устарели и излишни.
используя массивы я всего лишь c помощью require могу подгружать конфиги и данные. и php opcache мне их закеширует
этакое nosql-хранилище
$config = require «config/app.php»;
$getProducts = function () {
foreach (require «db/products/index.php» as $product) {
$product = require «db/products/». $product[«ID»]. ".php";
//… do some work with $product;
yeild $product;
}
};
foreach ($getProducts() as $product) {
print_r($product);
//…
}
статические классы это пережиток прошлого.
в java использование статических классов оправдано т.к. нельзя объявлять функции вне класса.
в php это не нужно т.к. добавили неймспейсы.
в том что слишком много действий нужно произвести для создания и комплирирования проекта
в отличии от kotlinc hello.kt -include-runtime -d hello.jar
кстате качнул релиз переустановил
а там чтото вылазит alert и про environment variable JAVA_HOME пишет
качаю каждый релих в надежде что поддержка проектов kotlin станет такое же простой
как запуск через командную строку: kotlinc hello.kt -include-runtime -d hello.jar
для любителей автолоада тоже есть выход
`
final class my_function1 {
static function run($a) {
return "а я люблю собирать функции в классы ";
}
}
final class my_function2 {
static function run($a) {
return " и обмазыватся автолоадом";
}
}
echo my_function1::run(). my_function2::run()
`
да еще для любителе попрятать "всякие приватные механики" будет радость
а что если мне после рефакторинга нужно вынести этот 1 метод в другой класс? тогда мне будет не доступен больше тот приватный метод.
оформить в виде функции и не трахать людям мозг — это же так просто
очень странно.
т.е. для CMS от Tarantool будет не много проку. нужно приложение (или CMS) писать полностью на Tarantool/Lua это у вас возможно?
сочуствую. но у меня так получается — что клиенты с устаревшими движками под php 5.2 слишком мало платят и слишком многого хотят. поэтому задерживаются не долго.
а в основном неважно на чем там работает. главное чтоб запускалось. так что а я вот просто пишу новые проекты и функционал уже на php7, как в bitrix добавят поддержку вообще заживем.
для любителей старых версий получается просто дополнительные накладные расходы за перевод под старые версии php. имхо так и надо с клиентами иначе будут сидеть на старых ветках до скончания веков
плюсанул бы — но кармы нет
эти любители ооп в конец распоясались — сколько хороших продуктов в стагнации из за той же simphony — drupal, phpbb и другие — вместо развития продукта и улучшения api — пытаются перестроить устоявшуюся структуру и впхнуть компоненты фрейморка — а в результаты получается франкеншейн
http://php.net/manual/ru/language.generators.overview.php — где можно уместить логику в одной функции
а итераторы на классах с кучей методов устарели и излишни.
нет не нужно.
http://php.net/manual/ru/ref.array.php
посмотреть — в каждом долбаном фреймворке свои «удобные» классы для работы с массивами — да что они себе позволяют. возомнили себя умнее Расмуса…
этакое nosql-хранилище
$config = require «config/app.php»;
$getProducts = function () {
foreach (require «db/products/index.php» as $product) {
$product = require «db/products/». $product[«ID»]. ".php";
//… do some work with $product;
yeild $product;
}
};
foreach ($getProducts() as $product) {
print_r($product);
//…
}
там нету async await
> Ждем Py4.
но зачем? когда есть на замену достаточно зрелые Go или Kotlin уже сейчас
и если все три функции видны и находятся в своем неймпейсе — ничего страшного нет.
в java использование статических классов оправдано т.к. нельзя объявлять функции вне класса.
в php это не нужно т.к. добавили неймспейсы.
и вправда не работает — так бы давно заиспользовал
Warning: The magic method __invoke() must have public visibility and cannot be static in [...][...] on line 4
Fatal error: Uncaught Error: Call to undefined function my_function1() in [...][...]:9
Stack trace:
0 {main}
thrown in [...][...] on line 9
в отличии от kotlinc hello.kt -include-runtime -d hello.jar
кстате качнул релиз переустановил
а там чтото вылазит alert и про environment variable JAVA_HOME пишет
как запуск через командную строку: kotlinc hello.kt -include-runtime -d hello.jar
`
final class my_function1 {
static function run($a) {
return "а я люблю собирать функции в классы ";
}
}
final class my_function2 {
static function run($a) {
return " и обмазыватся автолоадом";
}
}
echo my_function1::run(). my_function2::run()
`
да еще для любителе попрятать "всякие приватные механики" будет радость
какое скрытие функции в другой функции? и как ты собрался скрывать функцию в функции если тебе надо ее использовать в двух методах?
оформить в виде функции и не трахать людям мозг — это же так просто