Доброго времени суток. Есть задача построить простой rest сервис. После некоторых конвульсий родил код: Код (Text): <?php use Phalcon\Mvc\Micro; use Phalcon\Di\FactoryDefault; use Phalcon\Db\Adapter\Pdo\Mysql as PdoMysql; //Подключение к бд $di = new FactoryDefault(); // Настраиваем сервис базы данных $di->set( "db", function () { return new PdoMysql( [ "host" => "localhost", "username" => "*****", "password" => "********", "dbname" => "*********", ] ); } ); // Создаем и привязываем DI к приложению $app = new Micro(); // Получение всех задач $app->get( "/api/tasks", function () { echo '<p>Привет, мир!</p>'; } ); // Получение задачи по первичному ключу $app->get( "/api/task/{id:[0-9]+}", function ($id) { } ); // Добавление новой задачи $app->post( "/api/tasks", function () { } ); // Обновление задачи по первичному ключу $app->put( "/api/tasks/{id:[0-9]+}", function () { } ); // Удаление задачи по первичному ключу $app->delete( "/api/tasks/{id:[0-9]+}", function () { echo '<html> <head> <title>Тестируем PHP</title> </head> <body> <p>Делете Санек!</p> </body> </html>'; } ); $app->handle(); Проблема в том что при загрузки странички через раз появляется ошибка Fatal error: Access to undeclared static property: Phalcon\Di::$_default in /home/users/9/9521449851/domains/alextestserver.ru/index.php on line 9 Это строка $di = new FactoryDefault(); Как выкрутится из этой беды? --- Добавлено --- Заметил так же что если перезагружать страничку через 3 и более секунд то все норм, а если менее секунды то вылетает эта ошибка
отладка/debug http://phpfaq.ru/debug https://netbeans.org/kb/docs/php/debugging_ru.html https://php.ru/forum/threads/howto-...i-po-shagam-i-s-kartinkami.58974/#post-474550
Заметил так же что если перезагружать страничку через 3 и более секунд то все норм, а если спасибо))) --- Добавлено --- Изменил код Код (Text): <?php use Phalcon\Mvc\Micro; use Phalcon\Di\FactoryDefault; use Phalcon\Db\Adapter\Pdo\Mysql as PdoMysql; $app = new Micro(); // Получение всех задач $app->get( "/api/tasks", function () { // Соединяемся, выбираем базу данных $link = mysql_connect('localhost', '9521449851', '5zcNaszN5') or die('Не удалось соединиться: ' . mysql_error()); echo 'Соединение успешно установлено'; mysql_select_db('9521449851_dbtask') or die('Не удалось выбрать базу данных'); // Выполняем SQL-запрос $query = 'SELECT * FROM task_table'; $result = mysql_query($query) or die('Запрос не удался: ' . mysql_error()); // Выводим результаты в html echo "<table>\n"; while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { echo "\t<tr>\n"; foreach ($line as $col_value) { echo "\t\t<td>$col_value</td>\n"; } echo "\t</tr>\n"; } echo "</table>\n"; // Освобождаем память от результата mysql_free_result($result); // Закрываем соединение mysql_close($link); } ); // Получение задачи по первичному ключу $app->get( "/api/task/{id:[0-9]+}", function ($id) { } ); // Добавление новой задачи $app->post( "/api/tasks", function () { } ); // Обновление задачи по первичному ключу $app->put( "/api/tasks/{id:[0-9]+}", function () { } ); // Удаление задачи по первичному ключу $app->delete( "/api/tasks/{id:[0-9]+}", function () { echo '<html> <head> <title>Тестируем PHP</title> </head> <body> <p>Делете!</p> </body> </html>'; } ); $app->handle(); Теперь тычет на Fatal error: Access to undeclared static property: Phalcon\Mvc\Router\Route::$_uniqueId in /home/users/9/9521449851/domains/alextestserver.ru/index.php on line 41 Но в 41 строке переменных нет
это в принципе невозможно. То что, что подаётся под видом реста не более чем круд поверх хттп. --- Добавлено --- посмотри код файла на сервере
Обычно имена свойств класса, которые начинаются с _ подчёркивания - это приватные свойства. Они у вас скорей всего не видны в вашей области видимости.