<br>
<br>
Yii에 대한 사전 이해를 돕기 위해 이 섹션에서는 첫 번째 Yii 애플리케이션을 구축하는 방법을 설명하겠습니다. yiic(명령줄 도구)을 사용하여 새로운 Yii 애플리케이션을 생성하겠습니다. Gii(강력한 웹 기반 코드 생성기)는 특정 작업에 대한 자동 코드 생성을 완료합니다. YiiRoot가 Yii의 설치 디렉터리이고 WebRoot가 서버의 문서 루트 디렉터리라고 가정합니다. 다음과 같이 명령줄에서 yiic을 실행합니다.
% YiiRoot/framework/yiic webapp WebRoot/testdrive
참고: MacOS, Linux 또는 Unix 시스템에서 yiic을 실행하는 경우 yiic 파일의 권한을 다음과 같이 수정해야 할 수도 있습니다. 실행할 수 있도록 합니다. 그리고 터미널 명령줄에서 php 명령을 직접 실행할 수 있어야 합니다(테스트하려면 터미널에서 php -v를 사용할 수 있음). 그렇지 않은 경우 실행 가능한 PHP 경로를 시스템 경로에 배치해야 합니다. 또한 다음과 같이 이 도구를 실행할 수도 있습니다.
% cd WebRoot % php YiiRoot/framework/yiic.php webapp testdrive
이렇게 하면 WebRoot/testdrive 디렉터리에 기본 Yii 애플리케이션이 생성됩니다. 이 애플리케이션은 대부분의 Yii 애플리케이션에 필요한 디렉토리 구조를 가지고 있습니다. 코드 한 줄을 작성하지 않고도 브라우저에서 다음 URL에 액세스하여 첫 번째 Yii 애플리케이션을 살펴볼 수 있습니다.
http://www.php.cn/
보시다시피 이 애플리케이션에는 홈 페이지, 연락처 페이지, 그리고 로그인 페이지. 홈 페이지에는 애플리케이션 및 사용자의 로그인 상태에 대한 일부 정보가 표시되고, 연락처 페이지에는 사용자가 문의 사항을 작성하고 제출할 수 있는 문의 양식이 표시되며, 로그인 페이지에서는 사용자가 먼저 인증한 다음 승인된 콘텐츠에 액세스할 수 있습니다. 자세한 내용은 다음 스크린샷을 확인하세요.
아래 트리 다이어그램은 애플리케이션의 디렉터리 구조를 설명합니다.
testdrive/ index.php Web 应用入口脚本文件 index-test.php 功能测试使用的入口脚本文件 assets/ 包含公开的资源文件 css/ 包含 CSS 文件 images/ 包含图片文件 themes/ 包含应用主题 protected/ 包含受保护的应用文件 yiic yiic 命令行脚本 yiic.bat Windows 下的 yiic 命令行脚本 yiic.php yiic 命令行 PHP 脚本 commands/ 包含自定义的 'yiic' 命令 shell/ 包含自定义的 'yiic shell' 命令 components/ 包含可重用的用户组件 Controller.php 所有控制器类的基础类 Identity.php 用来认证的 'Identity' 类 config/ 包含配置文件 console.php 控制台应用配置 main.php Web 应用配置 test.php 功能测试使用的配置 controllers/ 包含控制器的类文件 SiteController.php 默认控制器的类文件 data/ 包含示例数据库 schema.mysql.sql 示例 MySQL 数据库 schema.sqlite.sql 示例 SQLite 数据库 testdrive.db 示例 SQLite 数据库文件 extensions/ 包含第三方扩展 messages/ 包含翻译过的消息 models/ 包含模型的类文件 LoginForm.php 'login' 动作的表单模型 ContactForm.php 'contact' 动作的表单模型 runtime/ 包含临时生成的文件 tests/ 包含测试脚本 views/ 包含控制器的视图和布局文件 layouts/ 包含布局视图文件 main.php 所有视图的默认布局 column1.php 使用单列页面使用的布局 column2.php 使用双列的页面使用的布局 site/ 包含 'site' 控制器的视图文件 pages/ 包含 "静态" 页面 about.php "about" 页面的视图 contact.php 'contact' 动作的视图 error.php 'error' 动作的视图(显示外部错误) index.php 'index' 动作的视图 login.php 'login' 动作的视图 system/ 包含系统视图文件
대부분의 웹 애플리케이션은 데이터베이스에 의해 구동되며 우리의 테스트 애플리케이션도 예외는 아닙니다. 데이터베이스를 사용하려면 먼저 애플리케이션에 연결 방법을 알려주어야 합니다. 애플리케이션의 구성 파일 WebRoot/testdrive/protected/config/main.php를 다음과 같이 수정하세요.
<br>
return array( ...... 'components'=>array( ...... 'db'=>array( 'connectionString'=>'sqlite:protected/data/source.db', ), ), ...... );
위 내용 코드는 필요할 때 Yii 애플리케이션에 SQLite 데이터베이스 WebRoot/testdrive/protected/data/testdrive.db에 연결하도록 지시합니다. 이 SQLite 데이터베이스는 우리가 만든 애플리케이션 프레임워크에 이미 포함되어 있습니다. 데이터베이스에는 tbl_user라는 테이블 하나만 포함되어 있습니다.
<br>
CREATE TABLE tbl_user ( id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, username VARCHAR(128) NOT NULL, password VARCHAR(128) NOT NULL, email VARCHAR(128) NOT NULL );
MySQL 데이터베이스로 변경하려면 가져오기가 필요합니다. WebRoot/testdrive/protected/data/schema.mysql.sql 파일을 사용하여 데이터베이스를 생성합니다.
참고: Yii의 데이터베이스 기능을 사용하려면 PHP의 PDO 확장과 해당 드라이버 확장을 활성화해야 합니다. 테스트 애플리케이션의 경우 php_pdo 및 php_pdo_sqlite 확장을 활성화해야 합니다.
흥미로운 순간이 왔습니다. 방금 생성한 tbl_user 테이블에 대해 실제 애플리케이션에서 가장 일반적인 작업이기도 한 CRUD(생성, 읽기, 업데이트 및 삭제) 작업을 구현하려고 합니다. 실제 코드를 작성하는 수고를 겪지 않고 여기서는 강력한 웹 기반 코드 생성기인 Gii를 사용하겠습니다.
Gii 구성
Gii를 사용하려면 먼저 애플리케이션 구성이라고 알려진 WebRoot/testdrive/protected/main.php 파일을 편집해야 합니다. 파일:
return array( ...... 'import'=>array( 'application.models.*', 'application.components.*', ), 'modules'=>array( 'gii'=>array( 'class'=>'system.gii.GiiModule', 'password'=>'pick up a password here', ), ), );
그런 다음 http://www.php.cn/을 방문하세요. 여기에는 위의 구성에서 지정한 비밀번호를 입력해야 합니다.
사용자 모델 생성
로그인 후 모델 생성기 링크를 클릭하세요. 다음과 같은 모델 생성 페이지가 표시됩니다.
테이블 이름 입력 상자에 tbl_user를 입력합니다. 모델 클래스 입력 상자에 User를 입력합니다. 그런 다음 미리보기 버튼을 클릭하세요. 그러면 생성될 새 파일이 표시됩니다. 이제 생성 버튼을 클릭하세요. User.php라는 파일이 protected/models 디렉터리에 생성됩니다. 나중에 설명하겠지만 User 모델 클래스를 사용하면 객체 지향 방식으로 데이터 테이블 tbl_user에 액세스할 수 있습니다.
CRUD 코드 생성
모델 클래스를 생성한 후 CRUD 작업을 수행하는 코드를 생성합니다. 아래와 같이 Gii에서 Crud Generator를 선택합니다.
在Model Class输入框中,输入User。在Controller ID输入框中,输入user(小写格式)。现在点击Generate按钮后的 Preview按钮。CRUD 代码生成完成了。
访问 CRUD 页面
让我们看看成果,访问如下 URL:
http://www.php.cn/
这会显示一个tbl_user表中记录的列表。 点击页面上的Create User 链接,如果没有登录的话我们将被带到Yii 프레임워크 공식 튜토리얼 보충 자료 3 - 시작하기: 첫 번째 Yii 애플리케이션 만들기。登录后,我们看到一个可供我们添加新用户的表单。完成表单并点击Create按钮,如果有任何输入错误的话,一个友好的错误提示将会显示并阻止我们保存。回到用户列表页,我们应该能看到刚才添加的用户显示在列表中。 重复上述步骤以添加更多用户。注意,如果一页显示的用户条目太多,列表页会自动分页。 如果我们使用admin/admin作为管理员登录,我们可以在如下 URL 查看用户管理页:
http://www.php.cn/
这会显示一个包含用户条目的漂亮表格。我们可以点击表头的单元格来对相应的列进行排序,而且它和列表页一样会自动分页。 实现所有这些功能不要我们编写一行代码!
<br>
以上就是Yii框架官方教程增补篇3——开始:创建第一个Yii应用的内容,更多相关内容请关注PHP中文网(www.php.cn)!
<br>