学写一个程序开发框架(PHP),灵感来源于ROR

2024-03-25 22:58

本文主要是介绍学写一个程序开发框架(PHP),灵感来源于ROR,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

先向各位高手们请个安。
我对ROR的了解很浅,仅仅是看了一遍它的说明手册……不太习惯没有分号的语句,所以没想进一步学Ruby,惭....

总的目标:
  1、简化程序的开发,提高速度;
  2、具有一定的配置灵活性和广泛的程序扩展性;
  3、提供良好的具有功能共性的代码或组件,并易于使用和集成。

基本特点:
  1、完全面向对象(和基于对象);
  2、充分利用文件系统——所有的东西都往数据库塞不太好吧?
  3、多数据库接口支持。
  4、组件/模块/方法 式结构,支持MVC划分。

先说这些,基本结构和逻辑已经完成,正在思考标准扩展组件……

………………………………………………………………………………………………………………………………
系统组件:
  1个标准组件:
  Auth -- 提供所有组件的用户基本管理和接口

  3个标准扩展组件:
  Admin -- 系统管理框架和组件管理接口
  Xhtml -- 组件静态化支持管理和接口
  CTemplate -- 组件编译型模板支持和管理

………………………………………………………………………………………………………………………………
优点:
  1、将用户的认证和基本管理抽取了出来,其它组件只需实现用户的授权管理即可。这样组件间的用户即可统一。
  2、除了对标准组件的依赖,组件之间没有任何的紧密耦合。同时组件可提供用于数据输出或操作的Helper,
    Helper可以被随意共享。(如Blog是一个组件,BBS是一个组件,如果Blog和BBS都提供一个接受文章的Helper,
    则可以实现本JE系统中Blog文章和BBS发贴的交互。)
  3、如果遵循框架的约定,其实任何互不相干的采用本框架的程序系统的组件都可以拿来就用(或者很少量修改),
    这可视为广泛的程序可扩展性。
  4、程序的框架代码由脚本自动生成,类定义基本骨架和约定命名也由脚本完成,程序员只需要写某个类的方法的
    实现即可。(准确的说是:分析需求,进行数据建模;在Model的方法中进行数据验证;在Controller的方法中
    进行程序逻辑控制;在View部分进行模板设计和编辑。)

这篇关于学写一个程序开发框架(PHP),灵感来源于ROR的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/846516

相关文章

Java 缓存框架 Caffeine 应用场景解析

《Java缓存框架Caffeine应用场景解析》文章介绍Caffeine作为高性能Java本地缓存框架,基于W-TinyLFU算法,支持异步加载、灵活过期策略、内存安全机制及统计监控,重点解析其... 目录一、Caffeine 简介1. 框架概述1.1 Caffeine的核心优势二、Caffeine 基础2

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

解决若依微服务框架启动报错的问题

《解决若依微服务框架启动报错的问题》Invalidboundstatement错误通常由MyBatis映射文件未正确加载或Nacos配置未读取导致,需检查XML的namespace与方法ID是否匹配,... 目录ruoyi-system模块报错报错详情nacos文件目录总结ruoyi-systnGLNYpe

Python Web框架Flask、Streamlit、FastAPI示例详解

《PythonWeb框架Flask、Streamlit、FastAPI示例详解》本文对比分析了Flask、Streamlit和FastAPI三大PythonWeb框架:Flask轻量灵活适合传统应用... 目录概述Flask详解Flask简介安装和基础配置核心概念路由和视图模板系统数据库集成实际示例Stre

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

C++ HTTP框架推荐(特点及优势)

《C++HTTP框架推荐(特点及优势)》:本文主要介绍C++HTTP框架推荐的相关资料,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Crow2. Drogon3. Pistache4. cpp-httplib5. Beast (Boos