定制 moehakram/webphp-oop 二次开发

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

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

moehakram/webphp-oop

Composer 安装命令:

composer create-project moehakram/webphp-oop

包简介

An elegant PHP framework leveraging OOP principles to simplify.

README 文档

README

About The Project

This framework is a simple solution for native PHP projects that integrates object-oriented programming (OOP) principles. It is designed to facilitate PHP application development by providing tools for streamlined routing management.

Getting Started

To start using this framework, follow these steps:

  1. Clone this repository to your local directory.
  2. Run composer install to install the necessary dependencies.

Usage

Configuration

Database configuration is located in /config/config.php.

To start a local server, use the following command:

composer serve

Routing Patterns

Routing configuration is located in /config/routes.php.

// Example: `http://localhost:8080/users/123`
$router->get('/users/:id', function($id, Request $req) {
    return "User ID: " . $id;  // Output: User ID: 123
});

// Example: `http://localhost:8080/users/asd123`
$router->get('/users/:id', function($id, Request $req) {
    return "User ID: " . $id;  // Output: User ID: asd123
});

// Example: `http://localhost:8080/search/name_group/123`
$router->get('/search/:group/:id', function($group, $id, Request $req) {
    return "Group / ID: " . $group . '/' . $id;  // Output: Group / ID: name_group/123
});

Callback Formats

The framework accepts various callback formats:

  1. Array Callback:

    The callback should be an array with two elements: the controller class name and the method name.

    $router->get('/array', [HomeController::class, 'index']);
  2. String Callback:

    The callback should be a string in the format 'Controller@method', where Controller is the controller class name and method is the method name.

    $router->get('/string', 'HomeController@index');
  3. Callable Callback:

    The callback should be a callable, such as a closure, anonymous function, or any function defined as callable.

    $router->get('/anonymous-function', function() {
        return "Hello World";
    });
    
    $router->get('/arrow-function', fn() => "Hello World");

Summary

  • Array: [ControllerClass::class, 'methodName']
  • String: 'Controller@method'
  • Callable: function(Request $req) { ... } or fn(Request $req) => ...

Implementing Middleware

You can add middleware to your routes by passing them as additional parameters to the get method.

// Middleware example
class AuthMiddleware implements Middleware {
    public function execute(Request $request, callable $next)
    {
        // Authentication logic
        if (!$request->user) {
            return redirect('/login');
        }
        
        return $next($request);
    }
}

// Applying middleware to a route
//$router->get(string $path, $callback, ...$middlewares): void
$router->get('/dashboard', 'DashboardController@index', AuthMiddleware::class);

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-08-19