>  기사  >  백엔드 개발  >  Yaf 프레임워크 설치 가이드

Yaf 프레임워크 설치 가이드

不言
不言원래의
2018-05-10 09:11:0011695검색

이 글은 주로 참고할만한 가치가 있는 Yaf 프레임워크 설치 가이드를 소개합니다. 이제 여러분과 공유합니다. 도움이 필요한 친구들이 참고할 수 있습니다.

PHP 프레임워크에 대해 말하자면, 많은 사람들의 인상이 에 의해 구현되었습니다. PHP MVC의 다양한 기능 조합을 기반으로 한 코드 패키지입니다. C 언어로 PHP 프레임워크를 작성할 수도 있고 속도가 PHP로 작성된 프레임워크보다 10배 이상 빠르다는 사실을 아는 사람은 거의 없습니다.

Yaf는 C 언어로 작성된 PHP 프레임워크입니다. 프레임워크를 PHP 확장으로 실행합니다. MVC의 핵심 기능인 라우팅 및 MVC만 구현됩니다. Yaf 커널은 충분히 능률적이고 안정적이어서 운영상 문제가 거의 없습니다. 위험은 통제 가능하고 성과는 우수합니다. 물론 간단하기 때문에 DB 폐쇄, Session 확장 등의 작업을 구현해야 합니다.

PHP 프로그래머로서 아시아 최고의 프로그래머인 Niao 형제가 작성한 프레임워크에 대해 잘 알고 있어야 하는데, 그 프레임워크의 장점은 무엇입니까?

  • C 언어로 개발된 PHP 프레임워크는 기본 PHP에 비해 추가 성능 오버헤드가 거의 없습니다.

  • 모든 프레임워크 클래스는 PHP 시작 시 컴파일 및 로드될 필요가 없으며

  • .
  • 메모리 회전 주기 단축, 메모리 활용도 향상, 메모리 점유 감소

  • 글로벌 및 로컬 로딩 규칙을 모두 지원하여 클래스 라이브러리 공유에 편리합니다.

  • 사용자 정의 보기 엔진, 플러그인, 사용자 정의 라우팅 등을 지원하는 매우 유연하고 확장 가능한 프레임워크입니다.

  • 현재 일반적인 다양한 라우팅 프로토콜과 호환되는 다양한 경로가 내장되어 있습니다.

  • 강력하고 유연성이 뛰어납니다. 구성 파일 지원도 지원합니다. 복잡한 구성 구조로 인한 성능 손실을 방지하기 위해

  • 프레임워크 자체에서 위험한 작동 습관이 처리됩니다.

  • 실행 속도가 빨라지고 메모리 사용량이 줄어듭니다.

  • 프레임워크 설치:

  • One: 프레임워크 설치

Yaf 확장 홈페이지:

http://pecl.php.net/ package/yaf

$ wget http://pecl.php.net/get/yaf-3.0.7.tgz
$ tar -zxvf yaf-3.0.7.tgz
$ cd yaf-3.0.7
$ /path/to/phpize
$./configure --with-php-config=/path/to/php-config
$ make && make test && make install
tip:

컴파일 명령 실행 시 /path/to/ phpize, 명령 실행 시 다음 오류가 발생할 수 있습니다:

Configuring for:
PHP Api Version:         20151012
Zend Module Api No:      20151012
Zend Extension Api No:   320151012
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

https://blog.csdn .net/alen_xiaoxin/article/details/80255766을 참조하여 해결 방법을 찾아보세요.

확장을 컴파일하고 생성한 후 php.ini를 수정하고 php.ini 파일 끝에 다음 구성을 추가합니다.

[yaf]
yaf.use_namespace = 0
yaf.environ = 'product'
yaf.cache_config = 0
yaf.name_suffix = 1
yaf.lowcase_path = 1

extension = yaf.so
추가한 후 phpinfo에서 yaf 확장이 있는지 확인할 수 있습니다.

구성 지침:



yaf.user_namespace는 네임스페이스 모드를 활성화하려면 1입니다. 0 할인.

  • yaf.environ은 Yaf가 기본적으로 읽는 환경 구성입니다.

  • yaf.cache_config 프로젝트 구성을 캐시할지 여부입니다.

  • yaf.name_suffix는 접미사를 켭니다. 1 이후에는 클래스 이름이 XxxModel.php, XxxController.php 모드로 로드됩니다.

  • yaf.lowcase_path 경로 정보 중 디렉터리 부분이 소문자로 변환됩니다.

  • 2. 첫 번째 Yaf 프로젝트 생성

  • 생성하는 방법에는 두 가지가 있습니다.


수동으로 디렉터리 생성

  1. Yaf에서 제공하는 명령줄을 사용하여 디렉터리 생성

第二种方法可自行到:https://github.com/laruence/php-yaf,下载源码,因为 Yaf 提供的命令工具没有随 Yaf 源码一起,在该项目下面有一个tools文件夹,里面就是命令行工具。

一个典型的目录结构:

<p style="margin-bottom: 7px;">+ public<br/>  |- index.php //入口文件<br/>  |- .htaccess //重写规则    <br/>  |+ css<br/>  |+ img<br/>  |+ js<br/>+ conf<br/>  |- application.ini //配置文件   <br/>+ application<br/>  |+ controllers<br/>     |- Index.php //默认控制器<br/>  |+ views    <br/>     |+ index   //控制器<br/>        |- index.phtml //默认视图<br/>  |+ modules //其他模块<br/>  |+ library //本地类库<br/>  |+ models  //model目录<br/>  |+ plugins //插件目录<br/></p>

入口文件:

入口文件是所有请求的入口, 一般都借助于rewrite规则, 把所有的请求都重定向到这个入口文件。

一个经典的入口文件piublic/index.php:

<?php
define("APP_PATH",  realpath(dirname(__FILE__) . &#39;/../&#39;)); /* 指向public的上一级 */
$app  = new Yaf_Application(APP_PATH . "/conf/application.ini");
$app->run();

重写规则:

Apache的Rewrite (httpd.conf):

#.htaccess, 当然也可以写在httpd.conf
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php

Nginx的Rewrite (nginx.conf):

server {
  listen ****;
  server_name  domain.com;
  root   document_root;
  index  index.php index.html index.htm;

  if (!-e $request_filename) {
    rewrite ^/(.*)  /index.php/$1 last;
  }
}

配置文件:

在Yaf中, 配置文件支持继承, 支持分节. 并对PHP的常量进行支持. 你不用担心配置文件太大造成解析性能问题, 因为Yaf会在第一个运行的时候载入配置文件, 把格式化后的内容保持在内存中. 直到配置文件有了修改, 才会再次载入。

一个简单的配置文件application/application.ini:

[product]
;支持直接写PHP中的已定义常量
application.directory=APP_PATH "/application/"

控制器:

在Yaf中, 默认的模块/控制器/动作, 都是以Index命名的, 当然,这是可通过配置文件修改的.

对于默认模块, 控制器的目录是在application目录下的controllers目录下, Action的命名规则是"名字+Action"

默认控制器application/controllers/Index.php

<?php
class IndexController extends Yaf_Controller_Abstract {
   public function indexAction() {//默认Action
       $this->getView()->assign("content", "Hello World");
   }
}
?>

视图文件:

Yaf支持简单的视图引擎, 并且支持用户自定义自己的视图引擎, 比如Smarty。

对于默认模块, 视图文件的路径是在application目录下的views目录中以小写的action名的目录中。

一个默认Action的视图application/views/index/index.phtml

<html>
 <head>
   <title>Hello World</title>
 </head>
 <body>
  <?php echo $content;?>
 </body>
</html>

运行:

在浏览器输入你服务器配置的域名即可:

http://www.yourhostname.com/application/index.php

我是在本地配置的直接把端口指向public目录,所以直接输入:localhost:8081,即可看到

注意:

如果看不到Hello world,那么请到服务器查看PHP的错误日志,找出问题在哪里。

위 내용은 Yaf 프레임워크 설치 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.