PHPW - новый синтаксический сахар для PHP

PN
На сайте с 22.08.2012
Offline
103
2709

Уважаемые форумчане! Представляю Вашему вниманию свой очередной проект - PHPW. Это удобная надстройка над PHP, которая будет в дальнейшем развиваться. Позволяет не ставить точки с запятой в конце строк, при этом не запрещает многострочные строковые литералы. Упрощает многие конструкции языка.

Пример кода на PHPW:


_ addPoints($points) {
$this.points += $points
}

whatAreYouDoing() {
(($k, $v) in $this.history) {
echo "At " # date('d.m.Y H:i:s', $k) # ' ' # $reason # ' and got ' # $points # ' points\n'
}
}

В репозитории есть пример использования компилятора PHPW. Также доступно Live-тестирование - ввел код на PHPW, получил код на PHP. Буду благодарен за любые отзывы и комментарии. Всем спасибо за тестирование!

https://github.com/safe-solutions/phpw - репозиторий

http://prettybits.ru/phpw.php - Live-тестирование

Мой совет помог? Не скупись! Bitcoin 1Lseddet1o1B6odgXQHbGaWGwRkt1Db8Ef Ethereum 0x450f1a17461e25194B7F9226cDEe70173F39e1e1
S
На сайте с 23.05.2004
Offline
316
#1

Никогда не понимал и не понимаю, чего все в эту точку с запятой упираются. И только ради этого сделать код не совместимым, тормозить его обработку десятком регулярок и в конце запускать его через eval ... ну фиг знает.

Это просто подпись.
[Удален]
#2
proksey-net:
Позволяет не ставить точки с запятой в конце строк

Серьезно. Зачем это нужно во всяком синтаксическом сахаре? Я точки с запятой уже автоматом ставлю в коде и у меня скорее из-за них будет ошибка синтаксиса в вашем сахаре чем без них.

PN
На сайте с 22.08.2012
Offline
103
#3
Absolute 4o:
Серьезно. Зачем это нужно во всяком синтаксическом сахаре? Я точки с запятой уже автоматом ставлю в коде и у меня скорее из-за них будет ошибка синтаксиса в вашем сахаре чем без них.

PHPW не запрещает ставить точки с запятой. Если Вы будете их ставить, он просто не будет добавлять свои. В этом можно убедиться в Live-тестировании.

---------- Добавлено 21.08.2016 в 00:56 ----------

Stek:
Никогда не понимал и не понимаю, чего все в эту точку с запятой упираются. И только ради этого сделать код не совместимым, тормозить его обработку десятком регулярок и в конце запускать его через eval ... ну фиг знает.

в дальнейшем будет кэширование. Таким образом, обрабатываться он будет 1 раз, а не при каждой загрузке.

Не ради точки с запятой сделан PHPW, точки с запятой можно ставить как и раньше. На странице проекта есть подробное описание всех возможностей. Идея сделать такой проект мне пришла после работы с Babel.

Mik Foxi
На сайте с 02.03.2011
Offline
1076
#4

Зачем это? Один вред, в итоге под такое написанный скрипт не будет нигде больше работать.

Антибот, антиспам, веб файрвол, защита от накрутки поведенческих: https://antibot.cloud/ + партнерка, до 40$ с продажи.
PN
На сайте с 22.08.2012
Offline
103
#5
foxi:
Зачем это? Один вред, в итоге под такое написанный скрипт не будет нигде больше работать.

почему не будет? Это же фреймворк.

Если, например, у Вас все запросы прогоняются через index.php, то и пишете там:


include 'PHPW.php';
includex('app.phpw');

и дальше уже в app.phpw пишете свое приложение, включая другие файлы так же, через includex.

Mik Foxi
На сайте с 02.03.2011
Offline
1076
#6

proksey-net, не нужно приучать пользователя писать говнокод на выдуманном надъязыке. Тем более что php с 7 версии пошел к более строгой типизации, в php 7.1 вообще варнинги и ахтунги на каждом шагу даже на вполне ранее рабочем коде.

PN
На сайте с 22.08.2012
Offline
103
#7
foxi:
proksey-net, не нужно приучать пользователя писать говнокод на выдуманном надъязыке. Тем более что php с 7 версии пошел к более строгой типизации, в php 7.1 вообще варнинги и ахтунги на каждом шагу даже на вполне ранее рабочем коде.

Вы так же относитесь к надстройкам над JavaScript типа JSX?

S
На сайте с 23.05.2004
Offline
316
#8

А этот JSX тоже синтаксис меняет ?

Не в обиду, но вы ерунду изобретаете.

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

- Далее с таким самопридуманным синтаксом откажутся работать выше сказанные IDE/редакторы. Они будут подсвечивать синтаксические ошибки или вообще теряться в непонимании "что происходит"

- Отладка ошибок будет мучительной. Пишите один код, выполняется другой. В eval и так не всегда понятно, что где сломалось, а у вас еще и код не совпадает.

Хотя конечно, если написать на таком коде ключевую логику проекта - то с 99% заказчик останется у вас, так как другие программисты будут или отказываться от работы с таким кодом или будут настаивать на переписывании кода заново.

Aisamiery
На сайте с 12.04.2015
Offline
293
#9
proksey-net:
Вы так же относитесь к надстройкам над JavaScript типа JSX?

Прежде всего JSX написан для облегчения шаблонизации в JS, чтобы можно было подправить верстку без привлечения дорогостоящих фронтендов.

Какую глобальную задачу решает ваш проект? Какие удобства он дает? Все что у вас написано, можно просто внести в список шорткодов в тот же PHPStorm и для этого не нужно тянуть в проект сомнительную зависимость.

Разработка проектов на Symfony, Laravel, 1C-Bitrix, UMI.CMS, OctoberCMS

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий