Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Пространство имен
Форумы портала PHP.SU » » Объектно-ориентированное программирование » Пространство имен

Страниц (1): [1]
 

1. Telnet - 25 Сентября, 2014 - 17:13:42 - перейти к сообщению
Вообщем столкнулся с трудностями в моем проекте необходимо использовать сторонию библиотеку которая использует пространство имен
В инструкции по подключению сказано
Place it in the include_path and include or require the phar file in any script which uses the OpenTok\* classes.

что и было сделано

$path = __DIR__.'/OpenTok/';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);

use OpenTok\OpenTok;

$opentok = new OpenTok();

и вот тут я вижу такую ошибку

Fatal error: Class 'OpenTok\OpenTok' not found in E:\openserver\OpenServer\domains\videochat.local\opentok\index.php

Сама эта библиотека лежит в папке по адресу
E:\openserver\OpenServer\domains\videochat.local\opentok\OpenTok\OpenTok.php
2. OrmaJever - 25 Сентября, 2014 - 17:19:34 - перейти к сообщению
а вы подключить то хотя бы пробовали файл с классом? Однако
3. caballero - 25 Сентября, 2014 - 17:23:12 - перейти к сообщению
use \OpenTok\OpenTok
4. Panoptik - 25 Сентября, 2014 - 17:24:41 - перейти к сообщению
посмотрите нет ли в этой библиотеке автолоадера, и если есть подключите его как положено
(Добавление)
https://github[dot]com/opentok/OpenTok-PHP-SDK

Цитата:
Initializing
This package follows the PSR-4 autoloading standard. If you are using composer to install, you just require the generated autoloader:
PHP:
скопировать код в буфер обмена
  1. require "<projectpath>/vendor/autoload.php";

5. Telnet - 25 Сентября, 2014 - 17:28:52 - перейти к сообщению
Добавил функцию перехватчик __autoLoad дело пошло но не далеко

function __autoLoad($class){
require_once($class.'.php');
}
$path = __DIR__.'/OpenTok/';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
use OpenTok\OpenTok;
use OpenTok\Role;
$opentok = new OpenTok($apiKey, $apiSecret);

Теперь выводит следующие ошибки
Warning: require_once(Guzzle\Http\Client.php) [function.require-once]: failed to open stream: No such file or directory in E:\openserver\OpenServer\domains\videochat.local\opentok\index.php on line 3

Fatal error: require_once() [function.require]: Failed opening required 'Guzzle\Http\Client.php' (include_path='.;E:/openserver/OpenServer/modules/php/PHP-5.3.27/;E:/openserver/OpenServer/modules/php/PHP-5.3.27/PEAR;E:\openserver\OpenServer\domains\videochat.local\opentok/OpenTok/') in E:\openserver\OpenServer\domains\videochat.local\opentok\index.php on line 3

это значит у меня тут должна быть еще папочка
E:\openserver\OpenServer\domains\videochat.local\opentok\OpenTok\Guzzle\Http\Client.php
так?
(Добавление)
Вариант предложенный Panoptik не работает так как там нет папки vendor/autoload.php
6. caballero - 25 Сентября, 2014 - 17:32:21 - перейти к сообщению
Telnet
вы читать умеете?

use \OpenTok\OpenTok

 

Powered by ExBB FM 1.0 RC1