데이터베이스 설정 여기에서 데이터베이스 뉴스를 사용하고 있습니다.
apache: rewrite module open
여기서 www/app을 가리키는 가상 호스트를 설정했습니다. 가상 디렉터리인 경우 관련 문서를 확인하세요.
ID, 제목, 콘텐츠, 시간 필드를 생성하고 새 뉴스 테이블에 정렬
뉴스 테이블을 운영해야 하므로 먼저 뉴스 모델을 생성합니다
/app/models/ news .php
class news 확장 AppModel{
var $name='news'
}
?>
있는 경우 no var $ name='news'; 이 줄의 모델은 뉴스로 처리될 테이블로 기본 설정됩니다(개인 추측, 시도하지 않음)
이 속성은 사용된 데이터베이스를 식별하는 데 사용됩니다. var $useTable= 'users'; $name은 단지 모델을 식별할 뿐입니다.
속성인 $table은 모델 간의 관계를 다룰 때 사용되는 것이겠죠? 이 의심을 저장하고
새 /app/controllers/news_controller.php
newsController extends AppController{
var $uses=array('news') //를 만듭니다. 뉴스 모델
function index(){
$this->set('lists',$this->news->findAll())
} //Default
function add( $id =0){
if($id){
$this->set('id',$id);
$this->news->id=$id;
}
if(!empty($this->data)){
$ret=$this->news->save($this->data['news']) ;
if($ret){
if($id)
$this->flash('업데이트 성공','/news/');
else
$this- > flash('추가 성공','/news/');
}else{
} if($id)
$this->flash('업데이트 실패','/news/ add/' .$id);
else
$this->flash('추가 실패','/news/add');
}
}
exit();
} //추가/수정
function delete($id){
$this->news->id=$id;
$ret=$this->news-> ;remove( );
if($ret)
$this->flash('삭제 성공','/news/');
else
$this->flash(' 삭제 실패' ,'/news/');
exit();
} //삭제
function view($id){
$this->news-> id=$ id;
$this->set('news',$this->news->find());
}
}
?>
그게 다야
http://127.0.0.1/app/news/ (http://127.0.0.1/app/news/index와 동일)
http://127.0.0.1/app/news/ 방문하기 추가
http://127.0.0.1/app/news/view
http://127.0.0.1/app/news/delete
근데 방문하시면 놓치시겠다는 안내가 뜹니다 view add.thtml view.thtml delete.thtml index.thtml
cake가 출력하는 뷰 이름은 기본적으로 현재 액션 이름이 되기 때문에 원하는 대로 출력하려면 $this->render를 사용하세요. ('test'); test.thtml
이 thml 파일은 모두 /app/views/controller/ 디렉터리에 있습니다. 현재 컨트롤러는 news
이므로 파일은 /app/views 아래에 있습니다. /news/ 디렉토리
add.thtml:
formTag('new/title'.$id);?>
textarea('new/content');?>
제출 ('제출');?>
< /form>
index.html:
뉴스:
?
for($i=0;$i
제목:=$lists[$i]['뉴스']['title ']?>
}
?>
view.thtml:
제목:=$news[' news']['title']?>
content:=$news['news']['content']?>
위는 cakephp 예제의 내용입니다. 간단한 뉴스 시스템 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!