定制 lastguest/aleph 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

lastguest/aleph

最新稳定版本:1.0.0

Composer 安装命令:

composer require lastguest/aleph

包简介

A simple PHP framework for very small sites

README 文档

README

![Gitter](https://badges.gitter.im/Join Chat.svg)

Latest Stable Version Latest Unstable Version License

Aleph is a very simple PHP framework for very small sites.

Installation

Install via composer:

$ composer require lastguest/aleph

Or download only the framework file

Or remote include the framework file: (needs allow_url_include = true in php.ini)

<?php
include "https://raw.githubusercontent.com/lastguest/aleph/master/src/aleph.php";

Documentation

Boostrap

Include composer vendor/autoload.php

<?php
include 'vendor/autoload.php';

or directly the aleph.php file in your front controller:

<?php
include 'aleph.php';

URL Routing

// The index route
get('/',function(){
  echo "<h1>Hello!</h1>";
});

// Listen POST on /
post('/',function(){
  echo "<h1>Received POST Data:</h1><pre>";
  print_r($_POST);
  echo "</pre>";
});

If you return an array or an object it will served as JSON

get('/api/todos',function(){
  return [
    [ "id"=>1, "text"=>"Write documentation" ],
    [ "id"=>2, "text"=>"Smile" ],
    [ "id"=>3, "text"=>"Play more games" ],
    [ "id"=>4, "text"=>"Conquer the World" ],
  ];
});

The response will be :

[
    {
        "id": 1,
        "text": "Write documentation"
    },
    {
        "id": 2,
        "text": "Smile"
    },
    {
        "id": 3,
        "text": "Play more games"
    },
    {
        "id": 4,
        "text": "Conquer the World"
    }
]

Database

Init database DSN

database('init','mysql:host=localhost;dbname=test','root','root');

Run query and get single column

$uid = sql_value('select id from users where username = ? limit 1', array($username));

Run query and get single row

$user = sql_row('select * from users where username = ?', array($username));
echo $user->email;

Run query and iterate all returned rows

sql_each('select * from users', function($user){
  echo "<li><a href="mailto:{$user->email}">{$user->name}</a></li>";
});

Passing parameters:

sql_each('select * from users where activated = ?', function($user){
  echo "<li><a href="mailto:{$user->email}">{$user->name}</a></li>";
}, array('YES'));

Exec sql command

if ( sql('delete from users where id = ?',array(123)) ) echo "User deleted.";

Service

The Service function is a small DI container.

Register a factory method

class TestService {
	public $value;
	function __construct($x){ $this->value = $x; }
}

service('test',function($x){
	return new TestService($x);
});

Make service instances

$a = service('test',3);
$b = service('test',5);
[{"value":3},{"value":5}]

Register a singleton service

service('test',function($x){
	static $instance = null;
	return $instance === null ? $instance = new TestService($x) : $instance;
});

Now if we call multiple times the service('test') function we got the singleton instance every time :

$a = service('test',3);
$b = service('test',5);
$c = service('test');
[{"value":3},{"value":3},{"value":3}]

======================

Contributing

How to get involved:

  1. Star the project!
  2. Answer questions that come through GitHub issues
  3. Report a bug that you find

Core follows the GitFlow branching model. The master branch always reflects a production-ready state while the latest development is taking place in the develop branch.

Each time you want to work on a fix or a new feature, create a new branch based on the develop branch: git checkout -b BRANCH_NAME develop. Only pull requests to the develop branch will be merged.

Pull requests are highly appreciated.

Solve a problem. Features are great, but even better is cleaning-up and fixing issues in the code that you discover.

Versioning

Core is maintained by using the Semantic Versioning Specification (SemVer).

Copyright and license

Copyright 2014 Stefano Azzolini under the MIT license.

Bitdeli Badge

统计信息

  • 总下载量: 23
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 16
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 16
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2014-12-04