Есть 3 файла. index.php
include "func.php";
$vk = new vk_api(VK_KEY, VERSION);
$vk->sendOK();
...
$testq = ttt($peer_id, $message);
func.php
include "api/vk_api.php";
function ttt($peer_id, $text)
{
$t = $vk->sendMessage($peer_id, $text);
}
vk_api.php
class vk_api
{
public function sendMessage($sendID, $message){
if (!empty($sendID)) {
return $this->request($this->token, 'messages.send', array('message'=>$message, 'peer_id'=>$sendID, 'random_id'=>rand(1, 2147483600)));
} else {
return true;
}
}
}
Но request в sendMessage почему то не вызывается, больше того, останавливается дальнейшее выполнение кода.
Если же вызывать напрямую из файла index.php
$vk = new vk_api(VK_KEY, VERSION);
$vk->sendOK();
...
$vk->sendMessage('123', 'test');
То все работает. В чем может быть проблема? Как правильно вызывать методы класса из функции другого файла?
Все переменные в php
по умолчанию являются локальными, и не могут быть использованы в пользовательских функциях. Чтобы избавится от этого нужно сделать эту переменную глобальной:
func.php
include "api/vk_api.php";
function ttt($peer_id, $text)
{
global $vk;
$t = $vk->sendMessage($peer_id, $text);
}
Так же, вы можете передавать эту переменную в функцию. Тогда код будет выглядеть как-то так:
index.php
include "func.php";
$vk = new vk_api(VK_KEY, VERSION);
$vk->sendOK();
...
$testq = ttt($peer_id, $message, $vk);
func.php
include "api/vk_api.php";
function ttt($peer_id, $text, $vk)
{
$t = $vk->sendMessage($peer_id, $text);
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Ошибка: Parse error: syntax error, unexpected '[', expecting ')' in Z:\home\localhost\www\jekaua\config\questions
У меня есть таблица, как можно добавлять поле в редакторе страницы, и изменять ссылки в новом поле? Просто добавить запись нельзя тк добавление...
Дабы сократить время верстки множества страниц решил вынести header в отдельный файл, чтобы в indexphp и других страницах призывать его через include