(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

API PHP в JavaScript. Краткий обзор PHP.JS

Источник: habrahabr
KEKSOV

Лень - двигатель прогресса. Люди постоянно создают вещи, призванные облегчить их нелегкую долю. Именно лень позволила тряпке и швабре превратиться в моющий робот-пылесос. Похожие процессы происходят и в сфере компьютерных технологий. Вместо того, чтобы довольствоваться программированием в машинных кодах, общаясь с процессором через интерфейс перфокарт, люди стали придумывать всякие клавиатуры, мышки и мониторы, а так же языки программирования. Последние становились все более и более высокоуровневыми. В результате имеем то, что иммем - далеко неполный список ЯП. Насладившись всем великолепием этого многообразия, программисты внезапно стали осознавать, что теперь им лень учить все эти языки, и они стали мечтать о единообразии на всех платформах. Так родилась JAVA. Те, кому было лень ее учить, продолжали мечтать и писать на JavaScript. Их мечты были услышаны, и с другой стороны появился node.js. А что же теперь делать нам? - подумали PHP программисты, завистливо поглядывая на чужое счастье. Засучив рукава, они принялись напряженно работать, так появился проект php.js

Начну с перевода страницы About:

О сайте

php.js - это сайт, предоставляющий создаваемые сообществом альтернативы на JavaScript для функций PHP.

Если вы хотите выполнять высокоуровневые действия на платформах с JavaScript таких как веб-браузеры, node.js и т.п., то, вероятно, вам придется засесть за JS код, объединяющий низкоуровневые функции языка и выстраивать их до тех пор, пока вы не получите что-то полезное вроде: strip_tags(), strtotime(), number_format(), wordwrap() или date().

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

С другой стороны, ценя JS за его привлекательные возможности, мы призываем вас к их изучению. Никогда не используйте php.js в качестве оправдания своего нежелания уделить этому время. По этой же причине мы не портируем весь язык PHP целиком или все его управляющие структуры; мы остановили свой выбор только на функциях.

Следует добавить, что расценивая портирование вообще всего как определенный вызов, мы решили включить и даже такие низкоуровневые PHP функции как strpos, не смотря на то, что в JavaScript могут существовать их близкие аналоги (String.indexOf). Помимо интеллектуального вызова для нас самих, такое портирование открывает php.js, как для всевозможных умственных упражнений, так и позволяет ему служить целям изучения JS. Таким образом, мы видим себя как некий большой ресурс, а разработчики сами могут решить, когда для них есть смысл что-то брать отсюда. И когда нет.

Сотрудничество

Для совместной работы мы используем github. Комментарии на сайте только для замечаний. Пожалуйста, прочитайте наши руководства в Wiki.

Кто использует php.js

Лицензирование

php.js имеет дуальную лицензию - MIT и GPL. Это означает, что вы можете использовать php.js согласно условиям либо лицензии MIT, либо согласно Открытому Лицензионному Соглашению GNU (GPL) Версии 2. (сравнительный анализлицензий прим.автора)

Лицензия MIT позволяет вам использовать эту библиотеку в любом пригодном для вас виде, даже в коммерческих проектах, коль скоро вы сохраняете оригинальную лицензию при распространении своего продукта. По сути, вам даже не требуется раскрывать ваши модификации, хотя это было бы крайне желательно и, вдобавок к этому, дало бы вам уверенность в том, что ваши изменения не будут потеряны после апгрейда. С другой стороны, лицензия GPL делает эту библиотеку совместимой с другими GPL проектами.

Итак, прежде всего этот проект будет полезен для разработчиков, хорошо знакомых с PHP и его библиотеками. Подавляющее большинство функций работает в браузере, пожалуй, только mail и fopen для локального файла на стороне клиента вернут ошибку (о том, что уже сделано и, что предстоит сделать подробно написано здесь. Добровольцы?!). Но даже, если вы по какой-то причине не знакомы с PHP, но используете JS в своих проектах, то этот ресурс безусловно будет вам полезен, хотя бы с образовательной точки зрения. Не надо ожидать чудес, на момент написания этой статьи библиотека содержит всего 452 функции, весьма далекая цифра от всего объема PHP, но, поверьте, из чего выбрать там есть.

Каждая функция на сайте приведена с подробными комментариями и примерами использования (не забудьте и про родную документацию PHP). Для получения исходников конкретной функции нужно нажать на ссылку get on github в правом верхнем углу блока с кодом. Советую забрать сразу все исходники к себе, так будет удобнее. Так как библиотека весьма обширна, то нет смысла объединять все эти функции в один большой файл, он окажется излишне тяжелым. В зависимости от потребностей конкретного проекта необходимо выборочно формировать библиотеку с нужными вам функциями. Так же имеет смысл подумать об оборачивании этого API в какой-нибудь контейнер для того, чтобы не засорять пространство глобальных имен. Ну и не забывайте про оптимизацию и сжатие кода перед отправкой в браузер.

Резюме можно сделать следующее - php.js это стабильная и обширная JS библиотека с хорошей документацией, которая может упростить/ускорить разработку ваших проектов. Так как на вкус и на цвет, все фломастеры разные, то пусть в вашем арсенале появится еще и этот инструмент, глядишь, когда и пригодится; или просто будет лень варить очередной титановый велосипед и строгать костыль красного дерева.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 07.12.2012 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
VMware Fusion 10 Pro, ESD
Комплект Dr.Web «Универсальный», 1 год, 5 ПК
Nero Basic Burning ROM 2018 VL 5 - 9 License corporate
ABViewer Enterprise пользовательская
Inventory 9
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
СУБД Oracle "с нуля"
OS Linux для начинающих. Новости + статьи + обзоры + ссылки
3D и виртуальная реальность. Все о Macromedia Flash MX.
Работа в Windows и новости компании Microsoft
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100