aura/system
Composer 安装命令:
composer create-project aura/system
包简介
A full-stack framework system built from Aura library packages.
关键字:
README 文档
README
The Aura System provides a full-stack Aura framework built around Aura library packages.
Getting Started
Installation
Install via Composer to a {$PROJECT_PATH} of
your choosing:
composer create-project aura/system {$PROJECT_PATH}
This will create the system skeleton and install all of the necessary packages.
Once you have installed the Aura system, start the built-in PHP server with an Aura.Framework command:
cd {$PROJECT_PATH}
php package/Aura.Framework/cli/server
You can then open a browser and go to http://0.0.0.0:8000 to see the "Hello World!" demo output.
Press Ctrl-C to stop the built-in PHP server.
Additionally, you can run a command-line test:
cd {$PROJECT_PATH}
php package/Aura.Framework_Demo/cli/hello
You should see "Hello World!" as the output.
Run The Tests
For testing, you need to have PHPUnit 3.7 or later installed.
To run the integration tests for the system as a whole, change to the tests
directory and issue phpunit:
cd {$PROJECT_PATH}/tests
phpunit
To run the unit tests for a package, change to that package's tests
directory and issue phpunit:
cd {$PROJECT_PATH}/package/Aura.Autoload/tests
phpunit
Web Server
To run Aura under Apache or another web server, add a virtual host to your web
server configuration, then point its document root to {$PROJECT_PATH}/web.
If mod_rewrite or an equivalent module is installed on the server, you will
be able to browse without needing index.php in the URL.
Remove the Demo Package
When you are satisifed that the installation is working, edit the
composer.json file to remove the aura/framework-demo package requirement
and then run composer update.
System Organization
The system directory structure is pretty straightforward:
{$PROJECT_PATH}/
config/ # mode-specific config files
_mode # the config mode to use
_packages # load these packages in order
default.php # default config
dev.php # shared development server config
local.php # local development server config
prod.php # production config
stage.php # staging config
test.php # testing config
include/ # application include-path directory
package/ # aura-package libraries
tests/ # system tests
tmp/ # temporary files
vendor/ # composer vendors
web/ # web server document root
.htaccess # mod_rewrite rules
cache/ # public cached files
favicon.ico # favicon to reduce error_log lines
index.php # bootstrap script
Writing A Page Controller
Let's create a package and a page controller, and wire it up for browsing. We will do so in a project-specific way, leaving out the complexities of creating an independent package for distribution.
Warning: If you have not removed the
Framework_Demopackage yet, please do so before continuing. Otherwise, your routes will not work correctly.
Create The Controller
Change to the include/ directory and create a location for the example
package and a space for our first web page ...
cd {$PROJECT_PATH}/include
mkdir -p Example/Package/Web/Home
cd Example/Package/Web/Home
... then create a file called HomePage.php. Add this code for a bare-bones
index action:
<?php namespace Example\Package\Web\Home; use Aura\Framework\Web\Controller\AbstractPage; class HomePage extends AbstractPage { public function actionIndex() { $this->view = 'index'; } } ?>
Create The View
Next, create a view for the index action in a file called views/index.php
and add the following code to it
<?php echo "This is an example home page."; ?>
At this point your include/ directory should look like this:
include/
Example
Package/
Web/
Home/
HomePage.php
views/
index.php
N.b.: Technically you don't need a directory structure this deep. However, a structure like this makes it easy to add new pages as well as other support libraries without having to change the project organization later.
Configure The System
Now we need to wire up the page controller to the autoloader and the routing system. Change to the system config directory:
$ cd {$PROJECT_PATH}/config
Edit the default.php file and add this code at the end of the file:
<?php // attach the path for a route named 'home' to the controller and action $di->params['Aura\Router\Map']['attach'][''] = [ // all routes with the '' path prefix (i.e., no prefix) 'routes' => [ // a route named 'home' 'home' => [ 'path' => '/', 'values' => [ 'controller' => 'home', 'action' => 'index', ], ], ] ]; // map the 'home' controller value to the controller class $di->params['Aura\Framework\Web\Controller\Factory']['map']['home'] = 'Example\Package\Web\Home\HomePage'; ?>
Try It Out
You should now be able to browse to the / URL to see "This is an example
home page."
aura/system 适用场景与选型建议
aura/system 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.23k 次下载、GitHub Stars 达 62, 最近一次更新时间为 2013 年 05 月 25 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「framework」 「system」 「aura」 「auraphp」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 aura/system 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 aura/system 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 aura/system 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
PHP Framework HLEB2 is the foundation of the web application. Provides ease of development and application performance.
Installs Aura packages to the Aura system "package" directory.
Middleware to use Aura.Router
PSR-11 Aura.DI container configurator for Laminas and Mezzio applications. Drop-in replacement for the archived laminas/laminas-auradi-config with PHP 8.4 and 8.5 support.
Aura CMS Plugin: activity
Users reviews system
统计信息
- 总下载量: 1.23k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 62
- 点击次数: 5
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: BSD-2-Clause
- 更新时间: 2013-05-25