Есть ли что-то вроде CoffeeScript для PHP? - PullRequest
39 голосов
/ 01 июля 2011

Интерпретаторы PHP очень распространены, но синтаксис и библиотеки PHP непоследовательны и громоздки (конечно, IMO). Я думаю, что язык, который компилируется в PHP, но предоставляет функции более высокого уровня (например, модули, миксины, списки и т. Д.) И более простой синтаксис (например, необязательные точки с запятой, подразумеваемые возвраты, без знака доллара для переменных, необязательных скобок и скобок). и т.д ...) будет ценным. Существует ли что-нибудь подобное?

Ответы [ 10 ]

25 голосов
/ 23 июля 2011

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

24 голосов
/ 01 июля 2011

Краткий ответ - «нет».CoffeeScript приобрел популярность благодаря уникальному стечению факторов.Во-первых, как указывает Уэсли, JavaScript имеет монополию на платформу браузера, в то время как PHP имеет монополию только на файлы .php.На ваших собственных серверах, если вам не нравится PHP, вы можете просто использовать Ruby, Python, Perl или любой из множества языков JVM или .NET.

Еще одним фактором является то, что дизайн JavaScript был чем-то вродеавария.Его создателю, Брендану Эйчу, было приказано «сделать его похожим на Яву»;но семантически он имеет больше общего с Lisp и Smalltalk.Возможно, CoffeeScript обеспечивает синтаксис, который лучше соответствует внутренним принципам работы JavaScript.

Синтаксическая эволюция самого JavaScript сильно затруднена из-за необходимости поддерживать совместимость со старыми браузерами.PHP не имеет таких ограничений, что может подтвердить любой, кто перевел свой код с PHP4 на PHP5.Если вы хотите сделать JavaScript лучше, вам нужен прекомпилятор.Если вы хотите сделать PHP лучше, опубликуйте запрос функции для PHP6.( Редактировать: В своем первоначальном ответе я влюбился в первоапрельскую шутку, утверждая, что PHP6 был выпущен в 2010 . Очевидно, я не парень PHP ...)

Все это говорит о том, что было бы здорово иметь такой язык, как CoffeeScript для PHP.Непрерывный успех WordPress и его использование на серверах, над которыми пользователи часто имеют небольшой контроль, свидетельствует об уникальном месте PHP как развернутого языка.Также сложно использовать PHP с альтернативными языками разметки, такими как Haml.Возможно, альтернативный язык разметки в сочетании со свежим синтаксисом PHP может дать достаточно вескую причину, чтобы люди могли предварительно скомпилировать свой PHP.

15 голосов
/ 08 января 2014

Просмотр и просмотр веб-страниц, которые я нашел http://mammouth.boutglay.com/ выглядит наиболее похожим на язык сценариев кофе для PHP.Кажется, чтобы сделать работу.

12 голосов
/ 01 июля 2011

Если я правильно понял, что вы хотите, то есть Haxe , который может быть ориентирован на PHP, а также Flash, JavaScript и другие.

Я использовал его только для Flash, но нашел его очень полезным.

5 голосов
/ 27 марта 2012

Если вам нравится Лисп, взгляните на Pharen . Мне пока не нужно было его использовать, но он выглядит довольно хорошо - он имеет defmacro и даже преобразует хвостовую рекурсию в циклы.

4 голосов
/ 16 ноября 2014

@ gosukiwi сделано Черника , которое выглядит так:

/* 
 I'm a multiline comment
*/

a = 1 # variable definition

# you can use JSON syntax to define associative arrays
arr = { "name": "Mike", "age": 18, "meta": { "items": [1, 2, 3] } }

if a == 1
  echo("Hello, World!")
end

for i in (0..10)
  echo(i)
end

class MyClass < MyParentClass
  @name

  def Greet
    echo("Hello! My name is " & @name)
  end
end

Они также упомянули это в этом комментарии .

1 голос
/ 10 октября 2013

В настоящее время не существует готового к работе или законченного coffeescript-подобного языка / компилятора для PHP.

Я являюсь автором CoffeePHP и работаю над компилятором для более короткого синтаксиса.на самом деле это другой язык.

https://github.com/c9s/coffeephp

0 голосов
/ 01 февраля 2013

Взгляните на проект coffescript-php, совместимый с coffescript 1.3.1 на github, который можно найти по адресу https://github.com/alxlit/coffeescript-php

0 голосов
/ 29 ноября 2011

Эта библиотека сама по себе не похожа на CoffeeScript, но она является основой для переписывания PHP для объявления и использования собственного синтаксиса.У меня нет никакого опыта с этим, так что не читайте это как одобрение, просто наблюдение.https://github.com/theseer/preprocessor

0 голосов
/ 25 октября 2011

Конечно, вы могли бы знать об этом, но вы могли бы просто использовать nodejs с CoffeeScript ... (если вы специально не подключены к PHP)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...