[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как правильно в ООП создать буфер обмена?
arbuzmaster
Подскажите как это делается правильно в ООП, суть вопроса, есть например класс Websocket, в нем есть функция startClient, клиент стартует и работает в цикле

class Websocket
{
public static function startClient()
{
// здесь много всего разного
while(true)
{

//здесь хочется получать ТЕКСТ из некой области (например буфера обмена)
}


}

}



И есть например ещё один класс, в котором есть метод формирующий JSON строку.

class Json
{
public static function createJsonString($array)
{
//здесь хотелось бы записывать строку в некую область (например буфер обмена)
}
}



_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
AllesKlar
Class Clipboard {

private content = "";

public static pushToClipboard($data) {
$this->content = $data;
}

public static putFromClipboard() {
return $this->content;
}
}


class Json
{
public static function createJsonString($array)
{
//здесь хотелось бы записывать строку в некую область (например буфер обмена)
Clipboard::pushToClipboard($text);
}
}


class Websocket
{
public static function startClient()
{
// здесь много всего разного
while(true)
{

//здесь хочется получать ТЕКСТ из некой области (например буфера обмена)
$text = Clipboard::putFromClipboard();
}


}

}


_____________
[продано копирайтерам]
arbuzmaster
То есть, нужно было просто создать объект и писать/читать из него? Спасибо большое, буду пробовать!

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
arbuzmaster
Печаль беда :blink:
Fatal error: Using $this when not in object context in /var/www/html/models/Clipboard.php on line 23
[client ::1:60080] PHP Fatal error: Using $this when not in object context in /var/www/html/models/Clipboard.php on line 19


class Clipboard
{
private $content = "";

public static function pushToClipboard($data) {
$this->content = $data; // Fatal error
}

public static function putFromClipboard() {
return $this->content; // Fatal error
}
}


_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
kaww
arbuzmaster

class Clipboard
{
private static $content = "";

public static function pushToClipboard($data) {
self::content = $data;
}

public static function putFromClipboard() {
return self::content;
}
}


Не ясно все же для чего это все. Почему бы просто не:
$clipboard = 'foo';
?
или все же речь идет о какой-то асинхронной обработке чего-либо? Опиши задачу детальнее.
arbuzmaster
kaww
Parse error: syntax error, unexpected '=' in /var/www/html/models/Clipboard.php on line 32

self::content = $data;

Хочется, вот чего: есть Websocet клиент, который должен отправлять сообщения, а сообщения брать из переменной или буфера обмена, в который они должны попадать из другого класса. А работает сейчас так, появилось сообщение - запускается клиент и отсылает его, после отправки сообщения, клиент отключается от сервера. На рукопожатие уходит много времени, поэтому хочу избавиться от постоянных подключений/отключений

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
kaww
arbuzmaster
Может начать с синтаксиса php а не web сокетов? Т.к даже элементарные вещи вызывают затруднения (по-быстрому правил твой код и не заметил, что упустил $$$):
self::$content = $data;

Цитата (arbuzmaster @ 5.03.2017 - 23:01)
а сообщения брать из переменной или буфера обмена.

А кто их туда будет класть эти сообщения, чтобы потом брать?
arbuzmaster
Может и так ;), но второе на данный момент важнее, этот ООП пока постоянно в тоску вгоняет, я же не волшебник, я только учусь ;)
Цитата

А кто их туда будет класть эти сообщения, чтобы потом брать?

class Json
{
public static function createJsonString($array)
{
//здесь хотелось бы записывать строку в некую область (например буфер обмена)
Clipboard::pushToClipboard($text);
}
}


_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
Arh
arbuzmaster
Ты обработчик очереди что ли хочешь? Тогда пиши в redis или в rabbitmq, а от туда читай в цикле.

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
arbuzmaster
Цитата (Arh @ 5.03.2017 - 23:35)
arbuzmaster
Ты обработчик очереди что ли хочешь? Тогда пиши в redis или в rebbitmq, а от туда читай в цикле.

Да, что то в этом роде, но менее масштабное! wink.gif

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
Arh
arbuzmaster
Цитата
менее масштабное

Ну можно в файл писать laugh.gif

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.