به کمک وب سوکت با استفاده از این مثال :
PHPWebSocket-Chat
برای پروژه یک سیستم چت راه اندازی کردم ، فقط چون فایل server.php رو به کمک خط فرمان اجرا میکنم دسترسی به session کاربری که داره پیام رو ارسال میکنه ندارم. چطوری میتونم توی dos به session دسترسی داشته باشم
میشه راهنمایی کنید چطور فایل server.php رو به کامپوننت yii تبدیل کنم
برای تبدیل به کامپوننت، باید کلاس رو از yiibaseComponent مشتق کنید و توی پوشهی دلخواه (بعنوان مثال components در مسیر ریشهی پروژه ذخیره کنید) و فضای نام رو به شکل صحیح مقداردهی کنید و فیلدهای public رو توی init مقداردهی اولیه کنید. ضمناً سعی کنید پارامترهای کلاس رو حتیالأمکان بصورت فیلد public تعریف کنید تا توی فایل config بتونین مقادیر اولیه رو تنظیم کنید. مثال:
<?php // stored inside components folder in project root path as MyComponent.php
namespace appcomponents;
use Yii;
use yiibaseComponent;
class MyComponent extends Component
{
public $name;
public function init()
{
if (is_null($this->name)) {
$this->name = 'ncis.ir';
}
return parent::init();
}
public function show()
{
return '<div class="alert alert-info"><strong>' . $this->name . '</strong></div>';
}
}
نحوهی تعریف در فایل config/web.php :
...
'components' => [
'mycomp' => [
'class' => 'appcomponentsMyComponent',
'name' => 'http://www.ncis.ir',
],
...
],
...
و نحوهی استفاده:
<?= Yii::$app->mycomp->show() ?>