Релиз PHP и API на uCoz
Php и API uCozУ нас произошло одно из самых ожидаемых обновлений системы - теперь в uCoz возможно использование языка программирования PHP и функционала API.

PHP - это платная услуга, она доступна как в рамках пакета (Максимальный), так и как дополнительная услуга ($1.99 в месяц).

АPI - это бесплатная возможность, её нужно просто активировать в Основных настройках сайта:


Что теперь можно сделать?

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

Для чего данное решение не предназначено?

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

Примеры того, что можно реализовать при помощи PHP

Мы подготовили несколько примеров того, как можно использовать вводимое решение. Все эти примеры с кодами и описаниями доступны на http://phpexample.ucoz.net
Мы также надеемся, что коллекции готовых скриптов и решений будут постоянно пополняться не только усилиями наших разработчиков, но и пользователями системы!
Чтобы поставить уже готовый и отлаженный скрипт - совсем не обязательно быть программистом - при наличии четкой пошаговой инструкции это под силу каждому.

Итак, примеры:

1. Кастомизированные водяные знаки на картинках:



2. Подписка на рассылку с использованием кода безопасности:



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



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

Посмотреть на другие примеры и получить код для вышеперечисленных можно на сайте http://phpexample.ucoz.net
Вы можете писать свои PHP скрипты и предлагать их к размещению в общий каталог скриптов. В будущем будут проводиться конкурсы, связанные с разработкой PHP скриптов для системы uCoz.

В каком формате мы внедряем эту функцию?

Это именно возможность использовать язык PHP. Под запретом функции работы с памятью, системные вызовы и низкоуровневые функции по работе с файловой системой.
Да, быть может вы уверенны в своих познаниях PHP и готовы поставить на кон голову, что именно ваши скрипты не положат сервер. Но представьте, что будет, если владелец соседнего сайта, того, что расположен на одном с вами сервере, начнет экспериментировать и результат работы его пытливого мозга и шаловливых рук уронит не только его сайт, но и все 100 тысяч, которым не посчастливилось хоститься рядом. Именно поэтому подобные функции есть и будут оставаться под запретом.
Все остальные же функции языка использовать можно.
Можно работать с POST и GET запросами.

Как это работает?

Для вашего аккаунта при активации функции создается отдельная учетная запись на отдельном сервере, папка scripts, где будут храниться все файлы с расширением *.php. Только файлы с таким расширением будет можно вызывать непосредственно в редакторе шаблонов путем специального обращения. Все остальные файлы (их содержимое) можно получать только посредством самих php-скриптов (т.е. нельзя напрямую из шаблона обратиться к картинке в папке /scripts/ или файлу с базой данных, но можно вызвать их через скрипт, а сам скрипт уже вызвать в шаблоне). Сама папка хранится на отдельном сервере, на котором и происходит исполнение всех скриптов. Доступ к ней осуществляется через FTP.
Для того, чтобы запустить скрипт на исполнение, его нужно вызвать в любом нужном вам месте шаблона или материала (или даже напрямую, ссылкой в браузере) в текущем домене через проксирование, используя вот такой синтаксис:

http://SITE_ADDRESS/php/SCRIPT_NAME.php?param0=valueA&param1=valueB...&paramN=valueM

В шаблонах для вызова php-скрипта можно использовать функцию PHPCODE следующим образом:

<?$PHPCODE$("http://SITE_ADDRESS/php/SCRIPT_NAME.php?param0=valueA¶m1=valueB...¶mN=valueM")?>
где
  • SITE_ADDRESS - адрес сайта пользователя, на котором выполняется скрипт.
  • SCRIPT_NAME - путь (относительно папки scripts) и имя скрипта, который выполняется.
  • ?param0=valueA&param1=valueB...&paramN=valueM - параметры для скрипта, которые могут как быть, так и не быть.
  • <?$PHPCODE$()?> - синтаксис вызова php функции в шаблоне системы uCoz.
Данная функция выполняет GET-запрос на указанный скрипт. Ответ для нее должен быть возвращен только в формате json.
Реализовать использование POST-запросов можно через формы, iframe, другие скрипты этого домена и т.д.

Как это выглядит на практике?

Рассмотрим на примере скрипта, который хранит какую-либо дополнительную информацию о пользователе. Скрипт создает на странице форму с дополнительными полями для текущего пользователя, которые он заполняет и нажимает кнопку "Обновить".

В шаблоне страницы добавляется код обращения к скрипту:


А в корень папки помещается файл example001.php с содержимым:



Вот так выглядит результат работы скрипта:

Результат работы скрипта

Подробнее о тонкостях работы функций можно почитать в инструкции.

API

Помимо внутреннего внедрения языка PHP мы запустили в работу функционал API.
API - на данный момент существует для всех контент-модулей, кроме форума, интернет-магазина. Импорт данных для обработки осуществляется в формате XML-RPC.
С его помощью возможен импорт данных со страниц этих модулей. Это работает как в рамках юкозовских сайтов, так и для любых других ресурсов.
Например, можно сделать кросспостинг последней статьи из блога на любой сторонний сайт. Или, на основе анализа возраста посетителей, скрывать от них материалы: например, показывать картинки только, если залогиненный посетитель старше 18-ти лет:



С техническими деталями можно ознакомиться в инструкции по API.

Планы на будущее

Далее мы планируем развивать API, добавляя его в оставшиеся модули. Через некоторое время добавится возможность API для редактирования и постинга с oauth-авторизацией.
Без развития не останутся и возможности использования PHP: исходя из реальных потребностей будут меняться установленные лимиты, добавляться необходимые функции.

Вместо заключения

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

140 комментариев
1 2 3 4 »
1 Написал NinjaCat 30 Марта 2011, 20:47
красавчики
2 Написал TR@JIJI 30 Марта 2011, 20:48
Ура!!! Поздравляю Вас с нововведениями пользователи и огромное спасибо администрации!!!
3 Написал job3507 30 Марта 2011, 21:00
Ура!!!
avatar
4 Написал joker7am 30 Марта 2011, 21:02
Супер!!!!!! biggrin то что нужно!
5 Написал leonP4 30 Марта 2011, 21:08
Поздравляю вас товарищи, спасибо uCoz, я верил и знал что это наступил!
Quote
Самые старые наши пользователи могут еще помнить, что на вопрос, когда у нас появится эта функция, отвечалось, что "никогда”

Помним, помним. Раньше об этом даже думать не смели)) Я могу сказать лишь то, что uCoz перешел на новую ступень, и огромное спасибо программистам которые работают на благо людей и компании!
6 Написал tyapuhy 30 Марта 2011, 21:10
Дождались! Спасибо.
7 Написал AlexPS 30 Марта 2011, 21:16
что то не вижу где ее активировать?
10 Написал Meddy 30 Марта 2011, 21:20
Её - это API? Или PHP?
Если API - то в Настройки - общие настройки.почти в самом конце списка будет.
Если PHP отдельной услугой, то выбрать в раскрывающемся списке в меню "Купить от дельную услугу".
13 Написал AlexPS 30 Марта 2011, 21:26
Извините, имел ввиду PHP. Я оплачиваю пакет в который входит услуга, но почему то нет ни каких ссылок на ее активацию в ПУ. Или нужно отдельно оплачивать? Или еще не на всех серверах услуга запущена? у меня 26-й
17 Написал Meddy 30 Марта 2011, 21:53
т.е. у вас нету раздела [php детали] так как описано в начале мануала http://phpexample.ucoz.net/manual/ ?
20 Написал AlexPS 30 Марта 2011, 21:57
да
25 Написал Meddy 30 Марта 2011, 22:17
Да, есть проблема. В ближайшее время разберемся.
77 Написал krash 01 Апреля 2011, 10:48
Нету не в "купить отдельную услугу" ни там, где указано в мануале
78 Написал Meddy 01 Апреля 2011, 11:28
Вот тут нету?
8 Написал Zlocorp 30 Марта 2011, 21:16
Теперь школьники не смогут заявить, что uCoz не ТРУ потому что там нет PHP tongue
avatar
21 Написал Mitreya 30 Марта 2011, 21:59
Теперь школьники смогут заявить, что РНР не ТРУ, потому что он есть на uCoz, и примутся за Perl biggrin
34 Написал xpacmanx 30 Марта 2011, 23:41
Скорее за Ruby
9 Написал wangog 30 Марта 2011, 21:18
Прекрасно, поздравляю.

Quote (Вопрос)
Получается теперь возможно сделать сайт на нескольких языках ?!

cry

12 Написал Meddy 30 Марта 2011, 21:22
Все зависит от вашей подкованности в PHP. Но варианты того, как сделать мультиязычный сайт были и до этого.
14 Написал wangog 30 Марта 2011, 21:27
Я имею введу что можно будет менять все название (который идут от uCoz) ! К примеру, идет форум на трех языках, можно перевести все переменные а сам контент который добавили юзеры уже идет на том языке, на котором они его добавили ?! cry
avatar
11 Написал Admin1622 30 Марта 2011, 21:21
а когда api для добавления контента будет? и будет ли оно бесплатным?
22 Написал Meddy 30 Марта 2011, 21:59
Пока нет точных сроков, к сожалению. Да.
avatar
15 Написал Tom_Boxer 30 Марта 2011, 21:34
uCoz загнется от php
16 Написал AlexPS 30 Марта 2011, 21:35
как? biggrin
18 Написал Meddy 30 Марта 2011, 21:54
Мы сделали его таким образом что не загнется cool
19 Написал G-XPert 30 Марта 2011, 21:57
PHP-скрипты располагаются на отдельных серверах (не на тех, на которых расположены сами сайты), так что всё под контролем smile
23 Написал ModeRzzz 30 Марта 2011, 22:15
Не получается загрузить в ФМ файл с расширением php.

Пишет, что такое расширение запрещено.
Загрузил с другим расширением, попробовал переименовать: "файл "блабла.php" является системным"...
27 Написал Meddy 30 Марта 2011, 22:21
А вы через сторонний FTP грузили или через встроенный Файловый менеджер? Можно только через сторонний.
avatar
28 Написал joncofe 30 Марта 2011, 22:21
ФМ не используется для загрузки php скриптов. Он используется для загрузки файлов на в папку сайта, а не в php учетку (это разные сервера). Для загрузки php скриптов используйте любой ftp клиент.
avatar
24 Написал Redrik 30 Марта 2011, 22:16
Даже не верится.. biggrin
uCoz, ты супер!)
26 Написал ModeRzzz 30 Марта 2011, 22:20
Извиняюсь, понял свою ошибку.
29 Написал $Vladimir$ 30 Марта 2011, 22:34
Quote
нету раздела [php детали] так как описано в начале мануала

Данный раздел будет доступен после оплаты услуги
30 Написал Ignizavr 30 Марта 2011, 22:51
Поздравляю!!! Честно говоря, я боялся проблем с "подвисанием", но вижу, команда Юкоза всех перехитрила и нашла выход из положения. tongue biggrin
Я пока не пользовался АПИ и даже не слишком разбирался (не успел), но появление АПИ - это здорово!
Что касается php, то на моем пакете (базовый), как я понял, этой возможности нет? Правда, мне пока и не нужно, но скоро кончается время оплаты и я подумаю, какой пакет покупать теперь...
В общем, теперь никто не скажет, что Юкоз - ерунда. Пользователи и так это знали, но болтливых снобов, увы, хватает... Теперь замолчат. smile
Удачи и успехов команде Юкоза! И спасибо вам!
32 Написал Kurt 30 Марта 2011, 23:28
В базовом пакете нет, но ничто не меняет при использовании базового пакета доплатить еще 2$ и получить пхп, когда станет нужно. Если больше ничего другого не надо, это будет более выгодно чем брать пакеты в которых пхп по умолчанию. Хотя, конечно, мы не против что бы вы переплачивали, если есть такое желание:)
53 Написал Ignizavr 31 Марта 2011, 12:13
Спасибо, Курт. Про отдельную услугу я заметил, но просто люблю "оптом". Однако, посмотрел цены и понял, что Вы правы! smile А "базовый" мне вполне достаточен по возможностям.
31 Написал $Vladimir$ 30 Марта 2011, 23:03
Quote (Ignizavr)
Что касается php, то на моем пакете (базовый), как я понял, этой возможности нет? Правда, мне пока и не нужно, но скоро кончается время оплаты и я подумаю, какой пакет покупать теперь...

Quote
доступна как в рамках пакетов (начиная с пакета "Расширенный 2”), так и как отдельная услуга ($1.99 в месяц)
33 Написал xpacmanx 30 Марта 2011, 23:41
Большое спасибо, за большую проделанную работу.
Приятно удивили некоторыми доработками по сравнению с альфа-версией smile
Так же приятная и оптимальная цена..Вроде всё радует smile
35 Написал steve3760 30 Марта 2011, 23:58
Ну вот, а обещали и для Премиумов! sad
50 Написал Kurt 31 Марта 2011, 10:14
Вы путаете. Обещалось это будет премиум-функция. О том какие пакеты будут включать ранее ничего не сообщалось. Только то что как отдельная - 2$
avatar
36 Написал adai 31 Марта 2011, 00:16
Можно ли ставить скрипты и создавать отдельные странички ну например создание многофункционального чата с комнатами (к примеру)
avatar
38 Написал joncofe 31 Марта 2011, 00:27
Ставить готовые сторонние решения? Можно, но с учетом особенностей реализации php в системе uCoz. Хотя поддержка php скриптов создавалась не для того, чтобы импользовать ее для установки каких-то готовых движков, а для расширения возможностей с помощью них в самой системе.
1-20 21-40 41-60 61-74
Ваш комментарий