<?php 安装篇幅: [[email protected] ~]#wget https://github.com/phalcon/cphalcon.git //解压后一定要跑到build目录下 phpize 生成configure文件 本人在此处遇坑,一直找不到config.m4文件 [[email protected] ~]#cd cphalcon-master/build/ [[email protected] ~]#phpize [[email protected] ~]#./configure --with-config=/usr/local/php/bin/php-config [[email protected] ~]#make && make install 目录 |++ app 应用目录 | |++ controllers 控制器 | |++ models 模型 | |++ views 视图 | |++ cache 模板缓存文件; | |++ config 配置 | |++ config.php | |++ loader.php | |++ routes.php | |++ service.php |++ public 入口文件目录 | |++ index.php 入口 index.php $debug = new \Phalcon\Debug(); $debug->listen(); $config = include __DIR__ . "/../apps/config/config.php"; include __DIR__ . "/../apps/config/loader.php"; include __DIR__ . "/../apps/config/services.php"; class BaseApplication extends \Phalcon\Mvc\Application { } $application = new BaseApplication(); $application->setDI($di); echo $application->handle()->getContent(); //注册一个路由器层 $di ->set(‘router‘, function() { $router = new \Phalcon\Mvc\Router(); //nginx的rewrite 这句非常重要 不然只能访问index控制器index方法 本人在此与坑 $router->setUriSource(\Phalcon\Mvc\Router::URI_SOURCE_SERVER_REQUEST_URI); //Define a route $router->add( "/admin/:controller/a/:action/:params", array( "controller" => 1, //匹配第一个占位符(/:controller) "action" => 2, //匹配第二个占位符(/:action) "params" => 3, //匹配第三个占位符(/:params) ) ); $router->add( "/news/([0-9]{4})/([0-9]{2})/([0-9]{2})/:params", array( "controller" => "index", "action" => "show", "year" => 1, // ([0-9]{4}) "month" => 2, // ([0-9]{2}) "day"=> 3, // ([0-9]{2}) "params" => 4, // :params ) )->convert(‘params‘, function($params) { //Transform the slug removing the dashes return str_replace(‘-‘, ‘‘, $params); }); $router->setDefaultController(‘index‘); $router->setDefaultAction(‘index‘); //Using an array $router->setDefaults(array( ‘controller‘ => ‘index‘, ‘action‘ => ‘index‘ )); return $router; }); 控制器 class IndexController extends ControllerBase { //所有方法之前执行 public function beforeExecuteRoute($dispatcher) { echo "<br/>"; } //先执行 beforeExecuteRoute方法 在执行 initialize方法 public function initialize() { } public function showAction() { $post = $this->request->getPost(); //接收所有post参数 $robot = MgUserMember::findFirst()->toArray(); print_r($robot); echo $this->view->hello = "hey, hello!"; $this->view->setVar("name", $robot->nickname); //传值到视图 $this->view->disable(); //关闭视图 $this->view->pick("layouts/test"); //选择视图文件 $this->view->pick("index/index"); //默认会自动渲染此文件 } //所有方法之后执行 public function afterExecuteRoute($dispatcher) { $this->dispatcher->forward(array( ‘controller‘ => ‘home‘, ‘action‘ => ‘index‘ )); } } 模型层 use Phalcon\Mvc\Model; class MgUserMember extends Model { public function initialize() { $this->setReadConnectionService(‘dbRead‘); } public function getSource() //返回表名 { return ‘mg_user_member‘; } } 视图层 <html> <head> <title>问我我我我我娃娃</title> </head> <body> <h1>aaaaaaaaaa</h1> <?php echo $this->getContent() ?> </body> </html> //常用类 print_r(get_class_methods($this->request)); [0] => getHttpMethodParameterOverride [1] => setHttpMethodParameterOverride [2] => setDI [3] => getDI [4] => get [5] => getPost [6] => getPut [7] => getQuery [8] => getServer [9] => has [10] => hasPost [11] => hasPut [12] => hasQuery [13] => hasServer [14] => getHeader [15] => getScheme [16] => isAjax [17] => isSoap [18] => isSoapRequested [19] => isSecure [20] => isSecureRequest [21] => getRawBody [22] => getJsonRawBody [23] => getServerAddress [24] => getServerName [25] => getHttpHost [26] => setStrictHostCheck [27] => isStrictHostCheck [28] => getPort [29] => getURI [30] => getClientAddress [31] => getMethod [32] => getUserAgent [33] => isValidHttpMethod [34] => isMethod [35] => isPost [36] => isGet [37] => isPut [38] => isPatch [39] => isHead [40] => isDelete [41] => isOptions [42] => isPurge [43] => isTrace [44] => isConnect [45] => hasFiles [46] => getUploadedFiles [47] => getHeaders [48] => getHTTPReferer [49] => getContentType [50] => getAcceptableContent [51] => getBestAccept [52] => getClientCharsets [53] => getBestCharset [54] => getLanguages [55] => getBestLanguage [56] => getBasicAuth [57] => getDigestAuth print_r(get_class_methods($this->response)); [0] => __construct [1] => setDI [2] => getDI [3] => setStatusCode [4] => getStatusCode [5] => setHeaders [6] => getHeaders [7] => setCookies [8] => getCookies [9] => setHeader [10] => setRawHeader [11] => resetHeaders [12] => setExpires [13] => setLastModified [14] => setCache [15] => setNotModified [16] => setContentType [17] => setContentLength [18] => setEtag [19] => redirect [20] => setContent [21] => setJsonContent [22] => appendContent [23] => getContent [24] => isSent [25] => sendHeaders [26] => sendCookies [27] => send [28] => setFileToSend print_r(get_class_methods($this->view)); [0] => getRenderLevel [1] => getCurrentRenderLevel [2] => getRegisteredEngines [3] => __construct [4] => setViewsDir [5] => getViewsDir [6] => setLayoutsDir [7] => getLayoutsDir [8] => setPartialsDir [9] => getPartialsDir [10] => setBasePath [11] => getBasePath [12] => setRenderLevel [13] => disableLevel [14] => setMainView [15] => getMainView [16] => setLayout [17] => getLayout [18] => setTemplateBefore [19] => cleanTemplateBefore [20] => setTemplateAfter [21] => cleanTemplateAfter [22] => setParamToView [23] => setVars [24] => setVar [25] => getVar [26] => getParamsToView [27] => getControllerName [28] => getActionName [29] => getParams [30] => start [31] => registerEngines [32] => exists [33] => render [34] => pick [35] => getPartial [36] => partial [37] => getRender [38] => finish [39] => isCaching [40] => getCache [41] => cache [42] => setContent [43] => getContent [44] => getActiveRenderPath [45] => disable [46] => enable [47] => reset [48] => __set [49] => __get [50] => isDisabled [51] => __isset [52] => setDI [53] => getDI [54] => setEventsManager [55] => getEventsManager
时间: 2024-10-28 19:23:45