2016-04-18 3 views
0

Используя только простой файл, я могу заставить elephant.io работать, но если я пытаюсь интегрировать его внутри класса, это не сработает.Elephant.io integration php

Причина, по которой она не работает, заключается в том, что она говорит, что я не могу использовать use elephant ... внутри класса или функции.

Как бы интегрировать elephant.io в уже существующий класс?

Чтобы быть более конкретным, я пытаюсь интегрировать elephant.io в frameworkignign framework.

function tester() { 

    use ElephantIO\Client, 
     ElephantIO\Engine\SocketIO\Version1X; 

     require __DIR__ . '/vendor/autoload.php'; 

     $client = new Client(new Version1X('http://www.textbasedmafiagame.com:8080')); 


     $client->initialize(); 
     $client->emit('broadcast2', ['foo' => 'utførte et biltyveri']); 
     $client->close(); 




    } 

и получить никакого ответа или результата, но я получаю:

use not allowed inside a function 

и

Parse error: syntax error, unexpected 'use' 
+1

Вопросы, ищущих отладки помощи («почему не этот код работает?») Должен включать в себя желаемое поведение, конкретную проблему или ошибку и короткий код, необходимый для воспроизведения его в этом вопросе сам. Вопросы без четкого описания проблемы не полезны другим читателям. См. [Как создать минимальный, завершенный и проверяемый пример] (http://stackoverflow.com/help/mcve). –

+0

Обновление теперь вопрос – maria

ответ

2

В качестве ошибочных состояний, то use ключевое слово должно быть объявлено в наружном объеме файл (глобальная область) или внутренние объявления пространства имен. Попробуйте что-то вдоль этих линий

<?php  
use ElephantIO\Client, ElephantIO\Engine\SocketIO\Version1X; 

require __DIR__ . '/vendor/autoload.php'; 

class foo{ 
    public function tester() { 
    $client = new Client(new Version1X('http://www.textbasedmafiagame.com:8080')); 
    $client->initialize(); 
    $client->emit('broadcast2', ['foo' => 'utførte et biltyveri']); 
    $ client->close(); 
    } 

}