varyan / php-based-react-backend-rendering
PHP基于composer的包,用于在后台进行React渲染
dev-master
2017-01-22 10:51 UTC
Requires
- php: >=5.6.24
- reactjs/react-php-v8js: ~2.0
Requires (Dev)
- phpunit/phpunit: ^5.7
This package is auto-updated.
Last update: 2024-09-16 08:03:50 UTC
README
Travis CI构建状态
安装前
在运行composer之前,请确保您已安装V8Js PHP扩展
您可以在以下链接中找到如何安装V8Js扩展...
- Windows
- Linux
安装
- composer require varyan/php-based-react-backend-rendering dev-master
需求
- php至少5.6.24
- reactjs/react-php-v8js
使用方法
- 将vendor/varyan/php-based-react-backend-rendering示例文件夹中的文件和文件夹复制到您的根目录中
- 在包含index.php文件的文件夹内创建build文件夹
- 打开package.json文件
- 如果您的index.php文件位于不同的文件夹中,而不是根目录
- 将build/react-build.min.js改为'index.php所在文件夹'/build/react-bundle.min.js
- 将build/app.js改为'index.php所在文件夹'/build/app.js
- 如果您的index.php文件位于不同的文件夹中,而不是根目录
- 在终端运行
- npm i && npm run make
对于MVC系统如...
-
Codeigniter
- 文件application/config/config.php
//Add following lines \VarYans\ReactPHP\Config::setReactSource('path-to/build/react-bundle.min.js'); \VarYans\ReactPHP\Config::setAppSource('path-to/build/app.js'); //optional you can add error handler for custom error catching \VarYans\ReactPHP\Config::setErrorHandler(function(\V8JsException $exception){ // code coming here });
- 文件application/config/route.php
//Add following line in your routes list $route['home/hello'] = "HomeController/Hello";
- 文件application/controllers/HomeController.php
<?php use VarYans\ReactPHP\React; class HomeController extends CI_Controller{ /** * @return void */ public function hello(){ echo React::quickRender("Hello",[ "name" => "User" ]); } /** * if you want to use react component as part of your view * you can write it like this * @return \View */ public function bye(){ $this->load->view("bye",[ "var1"=>"val1", "componentAbout"=>React::quickRender("Bye",[ "prop1"=>"val1" ]) ]); } }
-
Laravel 5.3(提到版本是因为Laravel在不同版本中文件夹结构不同)
- 文件bootstrap/app.php
//Add following lines \VarYans\ReactPHP\Config::setReactSource('path-to/build/react-bundle.min.js'); \VarYans\ReactPHP\Config::setAppSource('path-to/build/app.js'); //optional you can add error handler for custom error catching \VarYans\ReactPHP\Config::setErrorHandler(function(\V8JsException $exception){ // code coming here });
- 文件routes/web.php
Route::get('/home/hello','HomeController@hello'); Route::get('/home/bye','HomeController@bye');
- 文件app/Http/Controllers/HomeController.php
<?php namespace App\Http\Controllers; use VarYans\ReactPHP\React; class HomeController extends Controller{ /** * @return string */ public function hello(){ return React::quickRender("Hello",[ "name" => "User" ]); } /** * if you want to use react component as part of your view * you can write it like this * @return \View */ public function bye(){ return view('bye',[ "var1"=>"val1", "componentAbout"=>React::quickRender("Bye",[ "prop1"=>"val1" ]) ]); } }
版本控制
目前您只能使用dev-master版本
作者
- Varazdat Stepanyan
许可
本项目采用MIT许可协议 - 请参阅LICENSE.md文件以获取详细信息