camspiers / reactjs-php-render
此包的最新版本(0.1.0)没有可用的许可证信息。
PHP渲染React
0.1.0
2014-07-20 21:48 UTC
Requires
- php: >=5.4.0
- guzzlehttp/guzzle: ~4.0
- psr/log: ~1.0
- symfony/process: ~2.5
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is auto-updated.
Last update: 2024-09-19 14:04:05 UTC
README
此库旨在提供多种从PHP渲染React的选项。
实验性
API是实验性的,可能会发生变化。
概念
- 渲染器(
ReactJS\Renderer\RendererInterface
) - 此接口由多个渲染器实现,以提供不同的潜在渲染选项(HTTP服务器、V8Js等)
- 运行时片段提供者(
ReactJS\RuntimeFragmentProvider\ProviderInterface
) - 此接口用于提供不同的环境支持(CommonJS、全局变量等)
使用方法
可以直接使用渲染器生成“可挂载”的React HTML(包括校验和id),或者生成静态标记。
可以使用React类(ReactJS\React
)生成可挂载的React HTML,以及将自动将浏览器React组件挂载到生成的服务器端渲染标记中的JavaScript。
Node
当使用Node进程时,用户需要提供适当的格式的源文件(s)以供Node执行,这些源文件(s)需要包含
- React
- 您要尝试渲染的组件
$node = ReactJS\ReactFactory::createUsingNode( '/usr/bin/nodejs', ['bundle.js'] // bundle.js is a browserified bundle with React and TestComponent ); echo $node->renderAutoMountingComponent('./TestComponent');
V8
当使用V8Js php扩展时,用户需要提供适当的格式的源文件(s)以供V8执行,这些源文件(s)需要包含
- React
- 您要尝试渲染的组件
$v8 = ReactJS\ReactFactory::createUsingV8( ['bundle.js'] // bundle.js is a browserified bundle with React and TestComponent ); echo $v8->renderAutoMountingComponent('./TestComponent');
结果
<div id="53998c3f85044"> <span data-reactid=".fn8fq9jb40" data-react-checksum="2066486547">Some testing content</span> </div> <script> require('react').renderComponent( require(".\/TestComponent")(null), document.getElementById("53998c3f85044") ) </script>
安装(使用composer)
$ composer require camspiers/reactjs-php-render:dev-master