plansys / yard
在PHP中编写ReactJS组件!
0.0.5
2017-08-23 10:06 UTC
Requires
- fluentdom/fluentdom: ^6.0
This package is not auto-updated.
Last update: 2024-09-29 03:10:15 UTC
README
Yard:PHP中的ReactJS组件
此库允许您在PHP类中编写ReactJS组件。
它通过根据PHP生成的javascript动态创建React组件来实现。
纯PHP安装
您可以使用composer安装Yard
composer require plansys\yard
按照以下步骤使用yard
- 创建
my-project
目录 - 打开终端并在该目录下执行
composer require plansys\yard
- 在
my-project
目录中创建pages
、tmp
和redux
目录 - 确保
/tmp
目录可被Web服务器进程写入(在该目录中执行chmod 755
) - 创建
base.php
和index.php
文件
完成这些步骤后,您的目录结构应如下所示
my-project
├─ tmp (writable)
├─ pages
├─ redux
└─ vendors
├─ ...
└─ yard
├─ base (copy to /bases/default)
├─ src
└─ ...
└─ ...
└─ base.php
└─ index.php
将此代码放入 base.php
文件
<?php $host = str_replace("index.php", "", strtok($_SERVER["REQUEST_URI"], '?')); return [ 'name' => 'PLANSYS', 'offline' => false, 'settings' => null, 'host' => $host, 'modules' => [ '' => [ 'dir'=> dirname(__FILE__) . '/pages', 'url' => $host . '/pages', 'redux' => dirname(__FILE__) . '/redux' ] ], 'dir' => [ 'dir'=> dirname(__FILE__) . '/pages', 'base' => dirname(__FILE__) . '/vendor/plansys/yard/base/build', 'cache' => dirname(__FILE__) . '/tmp', 'root' => dirname(__FILE__) ], 'url' => [ 'base' => $host . '/vendor/plansys/yard/base/build', 'cache' => $host . '/tmp/[file]', 'page' => $host . '/index.php?p=[page]', ] ];
将此代码放入 index.php
文件
<?php require("vendor/autoload.php"); $base = new \Yard\Base(dirname(__FILE__) . DIRECTORY_SEPARATOR . "base.php"); $yard = new \Yard\Renderer($base); $parr = explode('...', @$_GET['p']); $modearr = count($parr) > 1 ? explode(".", $parr[1]) : ['']; $mode = count($modearr) > 1 ? $modearr[1] : $modearr[0]; if ($mode == 'css') { header('Content-type: text/css'); } else if (in_array($mode, ['js', 'jsdev', 'sw'])) { header('Content-type: text/javascript'); } $page = isset($_GET['p']) ? $_GET['p'] : 'builder:Index'; echo $yard->render($page);
然后在浏览器中打开 index.php
图标由 Freepik 在 www.flaticon.com 上创建,并受 CC 3.0 BY 许可