Pull to refresh

PHP и API на uCoz

Reading time2 min
Views5.5K
У нашего веб-сервиса появилось решение, позволяющее использовать PHP и взаимодействовать скриптами с основной системой. Так же реализован начальный API, который можно использовать как для скриптов, так и для чего-то еще, для тех же мобильных приложений. В ближайшее время данный функционал пройдет «проверку боем», а в дальнейшем будет развиваться в соответствии со спросом и потребностями.

Помимо всего прочего, интерес может заключаться еще вот в чем: если верить статистике Яндекса (да и Google), а ей верить можно, то по запросу “скрипты”, в первую очередь ищут именно “скрипты для юкоз”.

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

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

И еще, бахвальства ради, отмечу, что для SaaS-продуктов мы первопроходцы в подобного типа решениях, самим интересно посмотреть, что из этого получится. Но нам кажется, что должно получится интересно и полезно.

Для тех, кому интересны тех. детали «не отходя от кассы»:

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

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

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

<?IF($USER_ID$)?>
 <div align="center">
 <p>
 <b>Данный пример демонстрирует использование скрипта для хранения дополнительных полей текущего пользователя</b>
 </p>
 </div>
 <hr>
 <?$PHPCODE$("http://phpexample.ucoz.net/php/example001/example001.php?uid=",$USER_ID$)?>
<?ELSE?>
 <div id="phpdiv">
 <p>
 Вы не зарегистрированы. Пожалуйста, зарегистрируйтесь или войдите своей учетной записью
 </p>
 </div>
<?ENDIF?>

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

<?php
 if(count($_POST)>0)
 {
 $___notjson=1;
 $lines = file('additiondata.dat');
 if ($_POST['f0'] && $_POST['f1'] && $_POST['f2'] && $_POST['f3'] && $_POST['f4'])
 {
 foreach ($lines as $line_num => $line) {
 trim($line);
 list ($id, $data) = split("\t",$line,2);
 if ($id==$_POST['userid'])
 {
 unset($lines[$line_num]);
 file_put_contents('additiondata.dat', $lines);
 break;
 }
 }
Подробнее о тонкостях работы функций можно почитать в инструкции. Описание использования API
Tags:
Hubs:
-10
Comments15

Articles