یکی دیگه از قابلیت های فریم ورک 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 را بزنید
قدم بعدی انتخاب نام برای ماژول هست .
دکمه ی preview را بزنید و سپس generate
الان اگه به فولدر protected مراجعه کنین میبینین که فولدر modules ایجاد شده که داخلش فولدر post هست
قدم بعدی ساخت مدل برای ماژولمونه
همانند قبل بر روی model generate کلیک میکنیم با این تفاوت که باید model path را تغییر بدیم
برای تغییرش باید روی آن کلیک کنیم تا حالت textbox بشود
و آدرس مسیر را به فولدر ماژول تغییر دهید
application.modules.post.models
بعدش preview و سپس generate
خوب کم کم داریم تکمیل میکنیم این بخشو
مرحله ی بعدی CRUD هست .
خوب برای این کار بر روی crud generate کلیک میکنیم
برخلاف روال قبل model class را باید مسیر ماژولمونو بدیم
application.modules.post.models.post
و controller ID هم ابتدا نام ماژول سپس نام دلخواه شما برای کنترلر
post/Post
در اینجا اسم کنترلر من هم همانند نام ماژولم post هست
مرحله ی آخر اینه که در 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
اینم از ماژول
ازش لذت ببرین