Yii Framework는 대규모 웹 애플리케이션 개발을 위한 구성 요소 기반의 고성능 PHP 프레임워크입니다. Yii는 오늘날의 Web 2.0 애플리케이션 개발에 필요한 거의 모든 것을 제공합니다. Yii는 가장 효율적인 PHP 프레임워크 중 하나입니다. Yii는 창립자인 Xue Qiang의 아이디어로 2008년 1월 1일에 개발을 시작했습니다.
yii가 생성한 웹앱에 따라 개발된 경우 약간 더 큰 프로젝트입니다. 모든 컨트롤러는 컨트롤러 폴더 아래에 배치되고 모든 모델은 모델 폴더 아래에 배치됩니다. n개의 컨트롤러와 n개의 모델이 있는 경우 이 경우 코드를 유지하는 것은 매우 힘든 과정입니다. 이러한 상황을 피하기 위해 Yii는 모듈의 디렉터리 구조를 제공합니다.
모듈(모듈)은 뷰, 컨트롤러 및 기타 구성 요소를 포함하는 독립적인 단위입니다. 모듈과 애플리케이션의 차이점은 모듈이 애플리케이션의 모듈 디렉터리에 저장된다는 것입니다.
프로젝트는 n개의 모듈로 나눌 수 있으며, 각 모듈에는 자체 컨트롤러와 모델이 있습니다. 이러한 조직 구조를 통해 개발과 관리가 훨씬 편리하고 간결해집니다.
YII의 모듈은 매우 유연하며, 모듈은 하위 모듈을 포함할 수 있습니다. 이론적으로 모듈은 무한히 중첩될 수 있습니다.
모듈의 디렉터리 구조(아래 생성된 디렉터리 구조는 설명으로 사용됨)
modules 모듈의 저장 디렉터리
└── admin은 모듈의 이름에 해당합니다. , 이는 독특합니다. 라우팅
의 모듈 ID이기도 합니다. ├── 구성 요소 모듈
├── 컨트롤러에 사용되는 구성 요소에는 컨트롤러
│ └── DefaultController.php 기본 컨트롤러
├── 메시지 국제화
├── 모델 모델 클래스 파일
├── AdminModule.php 모듈 클래스 파일
└── views 뷰 파일
├── 기본 기본 뷰
│ ├── index.php 뷰 파일
└── 레이아웃에 레이아웃 파일 포함
기본 디렉토리 구조는 다음과 같습니다. , 물론 사용자 정의 항목을 직접 추가할 수도 있습니다.
<?php ...... 'modules'=>array( 'gii'=>array( 'class'=>'system.gii.GiiModule', 'password'=>'123456',//你的密码访问时需要输入 'ipFilters'=>array('127.0.0.1','::1'), ), ),그런 다음 application/index.php?r=gii URL을 방문하여 gii를 열고 왼쪽 메뉴에서 모듈 생성기 옵션을 선택합니다. 다음과 같은 화면이 나옵니다 모듈 ID에 모듈 이름을 입력하고 저는 여기에 admin을 입력한 후 미리보기 버튼을 클릭합니다. 아래와 같이 생성될 모든 파일이 표시되므로 생성하기 전에 미리 볼 수 있습니다. 그런 다음 생성 버튼을 클릭하여 모든 파일을 생성합니다. 웹 서버 프로세스에는 쓰기 액세스가 필요하므로 애플리케이션에서 /protected 폴더에 쓸 수 있는지 확인하세요. 이 모듈의 사용을 구성합니다주 구성 파일 protected/config/main.php를 구성합니다. 다음 코드를 수정하고 'admin'을 추가해야 합니다.
'modules'=>array( 'gii'=>array( 'class'=>'system.gii.GiiModule', 'password'=>'你的密码', ), 'admin', ),위 수정 사항을 저장한 후 새 관리자 모듈을 사용할 준비가 되었습니다. 다음 주소를 통해 생성한 모듈에 액세스할 수 있습니다: yourapp/index.php?r=admin/default/index 모듈의 레이아웃 사용 index.php?r=admin/default/index에 액세스합니다. 모듈이 애플리케이션 아래의 /protected/views /layouts/main.php 파일을 사용한다는 것을 알게 될 것이며, 관리 모듈이 다음을 수행할 수 있도록 /protected/modules/admin/views/layouts /main.php 파일을 사용할 수도 있습니다. 독립적인 레이아웃 보기를 갖습니다. protectedmodulesadmincontrollersDefaultController.php에 다음 코드를 추가할 수 있습니다. public $layout='application.modules.admin.views.layouts.main'; /protected/views/layouts/main.php에서 /protected/modules/admin/views/layouts/로 복사합니다. 모듈에는 자체 레이아웃 보기가 있습니다. 모듈에서 자산 사용새 모듈을 추가할 때 일반적으로 이미지 파일, CSS 파일, JavaScript 파일 등이 포함됩니다. 모듈은 웹사이트의 메인 디렉토리에서 직접 참조할 수 있습니다. 하지만 어디에서나 참조할 수 있고 이름 충돌을 피할 수 있는 모듈을 만들려면 자산을 사용해야 합니다. 프로세스는 다음과 같습니다(여기서 모듈 이름은 admin입니다). 1. 사용하는 데 필요한 리소스를 모듈/관리자/자산에 넣습니다. 2. 그러면 Yii::app()->assetManager는 자동으로 웹사이트 디렉터리/공개 디렉터리의 자산에 비공개 리소스를 게시할 수 있습니다.3. Yii는 웹사이트의 /assets 아래에 자동으로 임의의 리소스를 생성합니다. 디렉토리 2b31b42b와 같은 충돌하지 않는 폴더에 모듈/관리자/자산 디렉토리의 파일을 복사합니다. 예를 들어 내 모듈은 Admin입니다. protectedmodulesadminAdminModule.php 파일을 수정하여 파일 경로를 얻습니다.
class AdminModule extends CWebModule{ private$_assetsUrl; $this->_assetsUrl=Yii::app()->getAssetManager()->publish(Yii::getPathOfAlias('application.modules.admin.assets')); return$this->_assetsUrl; } public function setAssetsUrl($value){ $this->_assetsUrl=$value; } }
然后,在 /protected/modules/admin/views/layouts/main.php 中使用 $this->module->assetsUrl 就可以调用你的css等文件了。模板文件的代码如下:
<link rel="stylesheet" type="text/css" href="<?php echo $this->module->assetsUrl; ?>/css/screen.css" />
4,通过如上操作,该模块只要把admin目录拷贝,就可以多次复用了。
模块的配置,使用方法
在配置文件 /config/main.php 中:
配置文件中也可以及添加对模块中属性初始化的参数例如:
'modules'=>array('admin'=>array('web_url'=>'www.phpernote.com'),
对应在 Controller 中的访问方式是:
Yii::app()->controller->module->web_url;
作为程序员,我们要知道,Yii是一个基于组件的高性能PHP框架,用于开发大型Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从 MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主题化,I18N和L10N,Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。事实上,Yii是最有效率的PHP框架之一。
希望本节内容能让大家在Yii框架上有更多的收获。
相关推荐:
위 내용은 Yii 프레임워크 프레임워크 모듈 개발의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!