PHP 의 Yii 프레임 워 크 입문 사용 강좌

8298 단어 PHPYii
설치 하 다.
Yii 의 설 치 는 다음 과 같은 두 단계 로 구성 되 어 있 습 니 다.
yiiframework.com 에서 Yii 프레임 워 크 를 다운로드 합 니 다.
웹 접근 가능 한 디 렉 터 리 에 Yii 압축 패 키 지 를 압축 해제 합 니 다.
Tip|알림:웹 디 렉 터 리 에 설치 하 는 것 은 필수 가 아 닙 니 다.모든 Yii 응용 프로그램 에는 입구 스 크 립 트 가 있 습 니 다.이것 만 웹 사용자 에 게 노출 되 어야 합 니 다.다른 PHP 스 크 립 트(Yii 포함)는 해 킹 에 의 해 이용 되 지 않도록 보호해 야 합 니 다.
수요
Yii 를 설치 한 후에 서버 가 Yii 를 사용 하 는 요 구 를 만족 시 키 는 지 확인 하고 싶 을 수도 있 습 니 다.브 라 우 저 에 다음 주 소 를 입력 하여 필요 한 스 크 립 트 에 접근 하 십시오.
http://hostname/path/to/yii/requirements/index.php
Yii 의 최소 수 요 는 웹 서버 가 PHP 5.1.0 또는 더 높 은 버 전 을 지원 하 는 것 입 니 다.Yii 는 윈도 우즈 와 리 눅 스 시스템 의 아파 치 HTTP 서버 에서 테스트 를 통 과 했 으 며,PHP 5 를 지원 하 는 다른 웹 서버 와 플랫폼 에서 도 정상적으로 작 동 해 야 한다.
첫 번 째 Yii 애플 리 케 이 션 만 들 기
Yii 에 대한 초보적인 인식 을 가지 기 위해 서 우 리 는 이 절 에서 첫 번 째 Yii 응용 프로그램 을 어떻게 만 드 는 지 이야기 합 니 다.yiic(명령 행 도구)를 사용 하여 새로운 Yii 응용 프로그램 을 만 들 것 입 니 다.Gii(강력 한 웹 기반 코드 생 성기)는 특정한 작업 을 위해 자동 코드 생 성 을 수행 합 니 다.Yiroot 를 Yii 의 설치 디 렉 터 리 로 가정 하면 WebRoot 는 서버 의 문서 루트 디 렉 터 리 입 니 다.
명령 행 에서 yiic 를 실행 합 니 다.다음 과 같 습 니 다.

% YiiRoot/framework/yiic webapp WebRoot/testdrive
Note|메모:MacOS,Linux 또는 Unix 시스템 에서 yiic 를 실행 할 때 yiic 파일 을 실행 할 수 있 는 권한 을 수정 해 야 할 수도 있 습 니 다.또한 이 도 구 를 이렇게 실행 할 수 있 습 니 다.

% cd WebRoot
% php YiiRoot/framework/yiic.php webapp testdrive
이것 은 WebRoot/testdrive 디 렉 터 리 아래 가장 기본 적 인 Yii 응용 프로그램 을 만 들 것 입 니 다.이 앱 은 대부분의 Yii 애플 리 케 이 션 에 필요 한 디 렉 터 리 구 조 를 가지 고 있 습 니 다.
코드 를 한 줄 쓰 지 않 아 도 됩 니 다.브 라 우 저 에서 다음 URL 을 방문 하여 첫 번 째 Yii 응용 프로그램 을 볼 수 있 습 니 다.
http://hostname/testdrive/index.php
보시 다시 피 이 앱 은 첫 페이지,연락처,로그 인 페이지 세 페이지 를 포함 합 니 다.홈 페이지 는 응용 프로그램 과 사용자 로그 인 상태 에 대한 정 보 를 보 여 줍 니 다.연락 페이지 는 사용자 가 그들의 상담 을 작성 하고 제출 할 수 있 도록 연락 양식 을 표시 합 니 다.로그 인 페이지 는 사용자 가 먼저 인증 을 통과 한 후에 권한 을 수 여 받 은 내용 을 방문 할 수 있 도록 합 니 다.다음 캡 처 를 보면 더 많은 것 을 알 수 있 습 니 다.
2016215154517147.png (679×313)
2016215154540632.png (679×595)
2016215154555093.png (679×662)
2016215154611301.png (679×240)
2016215154624553.png (679×391)
아래 의 트 리 그림 은 우리 가 사용 하 는 디 렉 터 리 구 조 를 묘사 하 였 다.

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 를 수정 하면 다음 과 같 습 니 다.

return array(
 ......
 'components'=>array(
 ......
 'db'=>array(
  'connectionString'=>'sqlite:protected/data/source.db',
 ),
 ),
 ......
);
위의 코드 는 Yii 가 필요 할 때 SQLite 데이터베이스 WebRoot/testdrive/protected/data/testdrive.db 에 연결 하 는 것 을 알려 줍 니 다.이 SQLite 데이터 베 이 스 는 우리 가 만 든 응용 프레임 워 크 에 포함 되 어 있 습 니 다.데이터 베 이 스 는 tbl 라 는 이름 만 포함 합 니 다.user 의 시계:

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 데이터베이스 로 바 꾸 려 면 웹 루트/testdrive/protected/data/schema.mysql.sql 파일 을 가 져 와 데이터 베 이 스 를 만들어 야 합 니 다.
Note|메모:Yii 의 데이터베이스 기능 을 사용 하려 면 PHP 의 PDO 확장 과 해당 하 는 드라이브 확장 을 사용 해 야 합 니 다.테스트 애플 리 케 이 션 에 있어 서 phop 을 사용 해 야 합 니 다.pdo 와 phppdo_sqlite 확장.
CRUD 조작 실현
감동적인 순간 이 왔 다.우 리 는 방금 세운 tbl 을 위해user 표 는 CRUD(create,read,update,delete)동작 을 실현 하 는데 이것 도 실제 응용 에서 가장 흔히 볼 수 있 는 동작 이다.우 리 는 번 거 롭 게 실제 코드 를 작성 할 필요 가 없다.여기에서 우 리 는 웹 기반 의 강력 한 코드 생 성 기 를 사용 할 것 이다.
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',
 ),
 ),
);

그리고 URL 에 접근 합 니 다.http://hostname/testdrive/index.php?r=gii。여기 서 우 리 는 비밀 번 호 를 입력 해 야 합 니 다.그것 은 우리 가 위의 설정 에서 지정 한 것 입 니 다.
사용자 모델 생 성
로그 인 후 Model Generator 링크 를 클릭 합 니 다.아래 모델 생 성 페이지 를 표시 합 니 다.
2016215154746908.png (496×353)
Table Name 입력 상자 에 tbl 입력user。Model Class 입력 상자 에 User 를 입력 하 십시오.그리고 Preview 버튼 을 누 르 세 요.생 성 할 새 파일 을 보 여 줍 니 다.지금 Generate 버튼 을 누 르 십시오.User.php 라 는 이름 이 protected/models 디 렉 터 리 에 생 성 됩 니 다.우리 가 잠시 후에 설명 한 바 와 같이 User 모델 류 는 우리 가 대상 을 대상 으로 하 는 방식 으로 데이터 시트 tbl 에 접근 할 수 있 도록 합 니 다.user 。
CRUD 코드 생 성
모델 클래스 를 만 든 후에 CRUD 작업 을 수행 하 는 코드 를 생 성 합 니 다.저 희 는 Gii 의 Crud Generator 를 선택 하 였 습 니 다.다음 과 같 습 니 다.
2016215154813523.png (496×291)
Model Class 입력 상자 에 User 를 입력 하 십시오.Controller ID 입력 상자 에 user(소문 자 형식)를 입력 하 십시오.현재 Generate 단 추 를 누 른 다음 Preview 단 추 를 누 르 십시오.CRUD 코드 생 성 이 완료 되 었 습 니 다.
CRUD 페이지 방문
성 과 를 살 펴 보고 다음 URL 을 방문 합 니 다.
http://hostname/testdrive/index.php?r=user
이것 은 tbl 을 표시 합 니 다.user 표 에 기 록 된 목록 입 니 다.
페이지 의 Create User 링크 를 누 르 십시오.로그 인 하지 않 으 면 로그 인 페이지 로 가 져 갑 니 다.로그 인 후,우 리 는 새로운 사용 자 를 추가 할 수 있 는 양식 을 보 았 다.폼 을 완성 하고 Create 단 추 를 누 르 십시오.입력 오류 가 있 으 면 우호 적 인 오류 알림 이 표시 되 고 저장 을 막 습 니 다.사용자 목록 페이지 로 돌아 가면 방금 추 가 된 사용자 가 목록 에 표시 되 는 것 을 볼 수 있 을 것 입 니 다.
더 많은 사용 자 를 추가 하기 위해 상기 절 차 를 반복 합 니 다.한 페이지 에 표 시 된 사용자 항목 이 너무 많 으 면 목록 페이지 가 자동 으로 페이지 를 나 눌 수 있 습 니 다.
관리자 로 admin/admin 을 사용 하면 다음 URL 에서 사용자 관리 페이지 를 볼 수 있 습 니 다.
http://hostname/testdrive/index.php?r=user/admin
이것 은 사용자 항목 을 포함 하 는 예 쁜 표를 표시 합 니 다.우 리 는 표 의 셀 을 클릭 하여 해당 열 을 정렬 할 수 있 으 며,목록 페이지 와 마찬가지 로 자동 으로 페이지 를 나 눌 수 있다.
이 모든 기능 을 실현 합 니 다.코드 를 만 들 지 마 세 요!
2016215154846328.png (679×637)
2016215155203485.png (679×457)

좋은 웹페이지 즐겨찾기