رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
سیستم چت آنلاین در Yii2 به صورت realtime
#1
به کمک وب سوکت با استفاده از این مثال :
PHPWebSocket-Chat
برای پروژه یک سیستم چت راه اندازی کردم ، فقط چون فایل server.php رو به کمک خط فرمان اجرا میکنم دسترسی به session کاربری که داره پیام رو ارسال میکنه ندارم. چطوری میتونم توی dos به session  دسترسی داشته باشم
پاسخ
تشکر شده توسط:
#2
میشه راهنمایی کنید چطور فایل server.php رو به کامپوننت yii تبدیل کنم
پاسخ
تشکر شده توسط:
#3
برای تبدیل به کامپوننت، باید کلاس رو از yii\base\Component مشتق کنید و توی پوشه‌ی دلخواه (بعنوان مثال components در مسیر ریشه‌ی پروژه ذخیره کنید) و فضای نام رو به شکل صحیح مقداردهی کنید و فیلدهای public رو توی init مقداردهی اولیه کنید. ضمناً سعی کنید پارامترهای کلاس رو حتی‌الأمکان بصورت فیلد public تعریف کنید تا توی فایل config بتونین مقادیر اولیه رو تنظیم کنید. مثال:

<?php // stored inside components folder in project root path as MyComponent.php

namespace app\components;

use Yii;
use yii\base\Component;

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' => 'app\components\MyComponent',
        'name' => 'http://www.ncis.ir',
    ],
    ...
],
...

و نحوه‌ی استفاده:
<?= Yii::$app->mycomp->show() ?>
پاسخ
تشکر شده توسط: masato




کاربران در حال بازدید این موضوع: 1 مهمان