ساخت ماژول در Yii

یکی دیگه از قابلیت های فریم ورک yii امکان ایجاد ماژول هست.
ماژول ها در خود مدل , ویو , کنترلر را به صورت مستقل دارا می باشند
به این صورت که MVC هر ماژول مختص ب خودش است.
خوب برای ایجاد ماژول
هم میتونین دستی این کارو انجام بدین
هم میتونین از دوست خوبمون gii استفاده کنین.

قبل از ایجاد ماژول من یک جدول برای ماژولمون با نام post ایجاد میکنم

CREATE TABLE yiiteach.post (
  id int(11) NOT NULL AUTO_INCREMENT,
  title varchar(255) DEFAULT NULL,
  content text DEFAULT NULL,
  submit_date datetime DEFAULT NULL,
  status int(11) DEFAULT NULL,
  author int(11) DEFAULT NULL,
  imagepath varchar(255) DEFAULT NULL,
  PRIMARY KEY (id)
)
ENGINE = INNODB
AUTO_INCREMENT = 1
CHARACTER SET utf8
COLLATE utf8_general_ci;

پس وارد gii بشین و گزینه module generate را بزنید

ساخت ماژول در yii - module in yi

قدم بعدی انتخاب نام برای ماژول هست .
دکمه ی preview را بزنید و سپس generate
الان اگه به فولدر protected مراجعه کنین میبینین که فولدر modules ایجاد شده که داخلش فولدر post هست
ساخت ماژول در yii - module in yi

قدم بعدی ساخت مدل برای ماژولمونه
همانند قبل بر روی model generate کلیک میکنیم با این تفاوت که باید model path را تغییر بدیم
برای تغییرش باید روی آن کلیک کنیم تا حالت textbox بشود
و آدرس مسیر را به فولدر ماژول تغییر دهید
application.modules.post.models
ساخت ماژول در yii - module in yi

بعدش preview و سپس generate

خوب کم کم داریم تکمیل میکنیم این بخشو
مرحله ی بعدی CRUD هست .
خوب برای این کار بر روی crud generate کلیک میکنیم
برخلاف روال قبل model class را باید مسیر ماژولمونو بدیم
application.modules.post.models.post
و controller ID هم ابتدا نام ماژول سپس نام دلخواه شما برای کنترلر
post/Post
در اینجا اسم کنترلر من هم همانند نام ماژولم post هست
ساخت ماژول در yii - module in yi

مرحله ی آخر اینه که در main.php ماژولتونو معرفی کنین

  'modules' => array(
        // uncomment the following to enable the Gii tool
        'post',
        'gii' => array(
            'class' => 'system.gii.GiiModule',
            'password' => 'teachyii',
            // If removed, Gii defaults to localhost only. Edit carefully to taste.
            'ipFilters' => array('127.0.0.1', '::1'),
        ),
    ),

برای استفاده کافیه که

http://localhost:1007/post/post

اینم از ماژول
ازش لذت ببرین

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *