中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Phalcon有什么用

發布時間:2021-07-07 18:34:34 來源:億速云 閱讀:177 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關Phalcon有什么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

一、項目架構

Phalcon有什么用

從上圖可以看出這個目錄結構跟TP框架極其相似,對應的目錄就不一一解釋了,這其中的migrations這個目錄跟大家說一下。

這個目錄就跟laravel中的數據庫遷移一樣,具體怎么使用就不細講了哈!

框架結構也不是固定的,跟ThinkPHP也一樣可以注冊命名空間來修改目錄結構。

在Phalcon框架中,咔咔最近負責的項目也是使用的多模塊進行開發的。但是目錄結構也跟使用Phalcon開發工具生成的目錄是不一樣的。

萬變不離其宗,都是一個模樣。

二、入口文件

每個框架必不可少的文件,index.php這個貌似是所有開發者默認的。

Phalcon有什么用

那么在Phalcon這個框架中也是必不可少的了。

關于這里邊加載的是什么就不去細細的剖析源碼了,沒那個必要,想看源碼解析的可以去搜索ThinkPHP框架源碼解析。

大體執行就是先進行依賴注入,使用/config/services.php引入一些文件其中你要著重知道的是在這里進行了數據庫的連接。

這個文件/config/router.php看名字就知道是什么,路由唄!怎么設置路由,后邊再說。

在就通過第一步依賴注入后獲取配置信息。

最后一行代碼就是include APP_PATH . '/config/loader.php';注冊從配置信息中獲取的目錄。

三、配置Nginx

在第一期文章中沒有對項目進行配置,接下來進行簡單的配置一下。

Phalcon提供了三種方式的配置,咱們就先用最簡單的第一種即可。

server {
        listen        80;
        server_name  www.kakaweb.com;
        root   "D:/phpstudy_pro/WWW/phalcon/public";
        index index.php index.html error/index.html;
	    location / {
	        try_files $uri $uri/ /index.php?_url=$uri&$args;
	    }

        
        location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9002;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
	
	    location ~ /\.ht {
	        deny all;
	    }}

以上是咔咔的配置,如果你也使用的是PhpStudy,那么就可以直接復制過去使用。

四、控制器跳轉

在第一期文章中,使用phalcon開發工具創建了控制器、模型,如果你還沒有創建出來項目就需要去看第一期文章哈!

先看一下訪問如何。

Phalcon有什么用

代碼實現

Phalcon有什么用

可以看到在index控制器中,還建立了另一個方法kaka。

主流的框架都配置的是index控制器為默認訪問路徑,這個kaka怎么訪問跟其它框架也是一樣的。

訪問鏈接就是http://www.kakaweb.com/index/kaka即可。

也就是域名+控制器+方法名,這里的方法名需要注意的是不需要帶著Action。

Phalcon有什么用

演練一下官方給的案例。

Phalcon有什么用

可以看到輸出結果就是一個a鏈接

Phalcon有什么用

這個鏈接會直接跳轉到Signup控制器,接下來使用開發者工具來生成一下這個控制器。

Phalcon有什么用

接著點擊剛剛那個按鈕,就會跳轉到Signup控制器了。

Phalcon有什么用

關于控制器就先說到這里。

五、數據庫之增、刪、改、查

可以看到在模型文件中提前定義好了倆個方法,不管是啥,先來試試看。

Phalcon有什么用

在控制器直接寫上如下代碼

Phalcon有什么用

查詢結果

Phalcon有什么用

由此可見

  • find方法是獲取全部數據

  • findFirst只拿第一條數據

  • find(15)查詢id為15的數據

  • find(“type = ‘mechanical’”); 條件搜索

插入數據

實現代碼

    public function holdAction ()
    {
        $user = new User();

        $phql = "INSERT INTO User (name, age, sex) VALUES (:name:, :age:, :sex:)";

        $status = $user->modelsManager->executeQuery($phql, array(
            'name' => "咔咔1",
            'age' => 24,
            'sex' => 1
        ));

    }

Phalcon有什么用

這里需要注意一下這個SQL語句$phql = "INSERT INTO User (name, age, sex) VALUES (:name:, :age:, :sex:)";

在這里User指的是模型,并不是數據庫表名。

修改數據

實現代碼

    public function modifyAction ()
    {
        $user = new User();

        $phql = "UPDATE User SET name = :name:, age = :age:, sex = :sex: WHERE id = :id:";

        $status = $user->modelsManager->executeQuery($phql, array(
            'id' => 20,
            'name' => "咔咔2",
            'age' => 25,
            'sex' => 2
        ));
    }

Phalcon有什么用

刪除數據

    public function deleteAction ()
    {
        $user = new User();

        $phql = "DELETE FROM User WHERE id = :id:";

        $status = $user->modelsManager->executeQuery($phql, array(
            'id' => 20
        ));

    }

可以看到已經沒有結果了

Phalcon有什么用

這時你會發現,在檢索數據的時候用的框架自帶的方法,到增、刪、改使用的類似于原生了。

對于這個問題,如果你是新手建議會那種方式就用那種方式,因為工期可不等你。

使用框架修改的方式,咔咔也會給大家聊到,這個不用擔心,下期文章哈!

六、代碼優化

在第五節中,你們有沒有發現到這個問題。

Phalcon有什么用

在所有的方法中,都進行了實例化User這個模型,這樣做是可以。

但是你想想如果在項目初期就對滿項目的使用這種方式,到中期發現需要改個名字,這時你怎么辦?

全局搜索User關鍵字,改為修改的名字?

說實話這種方式沒有幾個程序員敢做這樣的操作,因為你不知道哪里就會出現問題。

所以咔咔就給你們說一個統一管理這些模型的方法。

Phalcon有什么用

可以將模型按照你自己的方式進行聲明。

接著在控制器中進行初始化,在這里進行實例化模型。

此時你在想想如果改了表名,我們是不是只需要修改初始化方法里邊的名字即可。

關于“Phalcon有什么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜城市| 华坪县| 德江县| 会昌县| 酒泉市| 沧州市| 西盟| 登封市| 鄯善县| 汉阴县| 吉木乃县| 岚皋县| 许昌市| 扎鲁特旗| 黄大仙区| 揭西县| 绥化市| 韶关市| 含山县| 运城市| 青冈县| 金溪县| 平乐县| 始兴县| 铜梁县| 徐闻县| 临沧市| 措美县| 贵州省| 洛隆县| 平南县| 江孜县| 靖西县| 德保县| 赣州市| 宝坻区| 昌平区| 新河县| 桐梓县| 瑞丽市| 根河市|