Skip to content

[建议] 工程化体验优化:整合入口文件、完善 Laravel 风格 ORM、补充核心基础能力 #130

@liuxiaojinla

Description

@liuxiaojinla

关注到 PhenixPHP 基于 Amphp 封装成了工程级异步框架,整体设计和工程化思路非常出色,为 PHP 异步开发提供了优质的选择!在此提几点优化建议,帮助框架进一步完善易用性和实用性,贴合开发者使用习惯:

1. 建议将 public/index.php 入口文件融合到 Server 服务中

当前框架独立的 public/index.php 入口文件可以进一步整合,将入口逻辑内置到 Server 服务启动流程中:

  • 优势:简化框架部署和启动流程,无需单独维护入口文件,统一服务启动入口,更符合异步框架的工程化设计;
  • 场景:开发者直接通过启动 Server 命令即可运行项目,无需配置 Web 服务器指向 public 目录,降低上手成本;
  • 参考:贴合 Amphp 原生服务启动逻辑,同时保持框架轻量化。

2. 建议完善 ORM 组件,保持 Laravel 风格设计

Laravel 作为 PHP 生态中最优美的框架之一,其 ORM(Eloquent)的设计思路、API 风格、查询语法、关联模型等实现极具易用性和可读性,建议 PhenixPHP ORM 深度借鉴:

  • 核心优化方向
    1. 保持Laravel 一致的查询构造器语法(如 whereorWherejoinselect 等方法命名和调用方式),降低 Laravel 开发者迁移成本;
    2. 完善模型关联功能(一对一、一对多、多对多、远程关联等核心关联关系);
    3. 支持模型软删除、作用域、访问器/修改器等 Laravel ORM 核心特性;
    4. 保持异步特性的同时,对齐 Laravel ORM 的使用体验,做到「语法一致、异步无感」。

3. 建议补充框架核心基础能力(延续完善)

  1. 建议内置Laravel 风格的请求/响应处理:统一 Request/Response 对象设计,支持请求验证、中间件、请求参数过滤等,贴合主流开发者使用习惯;
  2. 建议完善配置系统、日志系统:参考 Laravel 的配置加载、多通道日志设计,提升框架的可配置性和可观测性;
  3. 建议补充基础辅助函数、容器依赖注入:保持和 Laravel 一致的 IOC 容器使用方式,降低学习成本。

最后

核心希望 PhenixPHP 在保留 Amphp 异步高性能优势的基础上,借鉴 Laravel 的优秀设计理念,进一步优化工程化体验和核心组件完善度,成为更易用、更强大的 PHP 异步工程级框架!

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions