recess----1.第一個APP-helloRecess

選擇recess的理由很簡單,這個架構看起來很輕量級,很簡單。至少是寫起應用來感受不須要考慮太多和架構相關的東西。沒有按做者給的過程一步步來,折騰了很久。。。在這裏記錄一下。php

安裝過程略,官網文檔無壓力思密達。css

這裏主要是添加咱們的第一個應用,你能夠有兩種方法來實現:本身coding;使用recess提供的new app方法。html

 

本身coding的話,你能夠更清楚的看到它作了些什麼;使用new app方法的話,好處本身看吧。使用new方法的好處。。。唔,產生了一個配置很全面的app?貌似對我沒有太多誘惑。架構

使用recess提供的new app方法就不講了,本身在裝完recess以後點進去慢慢試。這裏提供本身寫的第一個APP,Hello Recess。這個是仿照官網Hello World寫的啦。app

 

首先,你須要把這個APP相關的目錄都建好了。ide

app/
    helloRecess/
        controllers/
        views/
      home/

而後,必需要一個APP的定義文件,並且名稱必須是HelloRecessApplication.class.php,放在helloRecess目錄下ui

<?php
Library::import(‘recess.framework.Application’);
 
class HelloRecessApplication extends Application {
     public function __construct() {
         $this->name = ‘Hello Recess’;
         $this->viewsDir = $_ENV[‘dir.apps’].‘helloRecess/views/’;    
         $this->modelsPrefix = ‘helloRecess.models.’;
         $this->controllersPrefix = ‘helloRecess.controllers.’;
     $this->routingPrefix = ‘helloRecess/’; } } ?>

這樣一個沒有controller,沒有model,沒有view的三無產品就出爐啦思密達~只須要安裝到recess就好啦!安裝方法嘛,編輯根目錄下的recess-conf.php就好啦~this

 

注意,上面的app行添加的是helloWorld.HelloWorldApplication,這裏意思是,從app目錄開始找,在一個叫helloWorld的目錄下,有一個類文件叫HelloWorldApplication.class.php。根據咱們的狀況,您看着改吧。spa

這裏做者有解釋:code

The convention of single classes per file and directories being broken up with dots is taken from the land of Java. The Recess library provides an layer important to auto-loading and performance between framework code and PHP’s native include_once and require_once methods.

好吧,如今點擊 http://localhost/helloRecess/ 。你看到了啥?

拋出錯誤了是吧?第一個高端大氣上檔次的錯誤。

Resource does not exist.
throw
new RecessResponseException('Resource does not exist.', ResponseCodes::HTTP_NOT_FOUND, get_defined_vars());

這就對了,沒有controller是萬萬不行的!而後,咱們在helloRecess/controllers目錄下建咱們的第一個controller,HelloRecessHomeController.class.php:

<?php
Library::import('recess.framework.controllers.Controller');
/**
 * !RespondsWith Layouts
 * !Prefix Views: home/, Routes: /
 */
class HelloRecessHomeController extends Controller {
    
    /** !Route GET */
    function index() {
        $this->message = 'Hello Recess!';
    } 
}
?>

注意註釋:

1)!Prefix Views: /home/, Routes: /。這是針對這個類的。這裏告訴Recess,咱們的HelloRecessHomeController使用的是views/home/下的view文件,整個類的route是APP的根路徑helloRecess/

2)!Route GET:這是針對method的。這裏是告訴Recess,這個是處理helloRecess這個目錄的GET請求時用的。也就是framework的Route定義。每一個method對應上面views目錄(/views/home/)下的一個html.php文件,好比這裏的index方法對應的是/views/home/index.html.php

固然,沒有model能夠,可是不能沒有view啊,而後咱們在helloRecess/views/home/目錄下建立一個view,index.html.php:

<html>
<header>
<title>Great Works!</title>
</header><body> <p>Hello Friends,</p>
<p>Message from controller:<?php echo $message; ?></p> <p>Great Works! You build your first APP in Recess successfully!</p> <p><strong><a href="http://www.cnblogs.com/pied">Luo Zhenxing</a></strong> <br />(<a href="mailto:piedgogo@gmail.com">e-mail</a>)</p>
</body>
</html>

而後,你再點點 http://localhost/helloRecess/ 試試?醜就醜點吧,爲了例程最簡,我把css什麼的都去掉了。

相關文章
相關標籤/搜索