当前位置: 首页 > 软件库 > Web应用开发 > Web框架 >

S框架

授权协议 GPL
开发语言 PHP
所属分类 Web应用开发、 Web框架
软件类型 开源软件
地区 国产
投 递 者 狄令
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

S 框架的核心思想是在 MVC 设计模式的基础上将业务逻辑进行剥离放入 Service 层,让 Controller 层变得更轻以适应不同类型的终端和应用场景。并且支持将 Service 层部署到不同的服务器以适应更加复杂的业务需求和高并发需求,业务规模扩大后可以用Java等语言来开发 Service 逐步替换原有代码,无缝接入到现有系统。

Service 层的出现也让 Model 层变得更轻,Model 层只需要关注与数据有关的封装,多数时候使用模拟出来的默认 Model 就足以应对各种需求,当某个数据比较复杂需要扩展一些操作时可在 _m 目录下编写一个继承 Model 的类即可。

五个核心函数即可构成基本的 MSVC 设计模式的 S 框架

函数 说明
MSVC( $root_path = '..' ) 启动框架,不需要任何参数,默认使用入口文件的上一级作为根目录,或传入一个参数指出项目的根目录
M( $model_name ) 根据名称(库名.表名 如:test.user)获取一个 Model 对象,里面包含对数据的各种基本操作,也可以自己在 _m 中继承Model类进行扩展
S( $service_name, $args ) 根据名称(包.类.方法 如:system.user.login)调用一个 Service 接口
V( $file, $data ) 根据视图文件(如:user/login.html)调用一个 View,将数据和视图进行整合
C( $path ) 根据路径(如:user/login.html)调用一个 Controller 以实现调用其他控制器处理页面,请求到达时框架会自动调用跟URL对应的控制器进行处理

    三种框架运行模式

函数 说明
MSVC( $root_path = '..' ) 启动完整的 MSVC 四层框架,默认采用严格跨层访问控制(可通过 ENABLE_MSVC_CROSS 允许任意跨层访问)
MVC( $root_path = '..' ) 启动标准的 MVC 三层框架,允许 Controller 直接访问 Model 层
MS( $root_path = '..' ) 启动 MS 两层框架,只对外提供服务

    _m、_s、_c、_v 四层的文件一般放在站点目录下,也可以放在根目录的 _m、_s、_c、_v 中作为所有站点公共的。

   

  • C/S架构程序应用广泛,比如常见的QQ、微信、Outlook,还有手机上的各种APP都是C/S架构的。C指的是Client,即客户端,S指的是Server,即服务端。 经常听到初学者争论,是学C/S结构还是学B/S结构?而笔者以为,两种架构都要学,不仅要学,而且还要精通。至于用哪种架构解决问题,那就要看工作需要了。在企业管理系统领域,C/S架构的系统占有非常重要的地位,比如ERP、MES系统,C/

  • B/S架构简介 B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaS

  • 1.基本概念 三层架构: 开发架构一般都是基于两种形式:一种是C/S架构,也就是客户端/服务器,另一种是B/S架构,也就是浏览器/服务器。 在JavaEE开发中,几乎全都是基于B/S架构的开发。那么在B/S架构中,系统标准的三层架构包括:表现层、业务层、持久层。其中每一层都分工明确: 表现层:负责接收客户端请求,向客户端响应结果,负责与用户进行交互。表现层的设计一般都使用MVC模型 业务层:主要是

 相关资料
  • s

    描述 (Description) 这不是一个功能。 这是正则表达式替换运算符。 根据PATTERN中指定的正则表达式,数据将替换为REPLACE。 与m //一样,分隔符由s后面的第一个字符定义。 语法 (Syntax) 以下是此函数的简单语法 - s/PATTERN/REPLACE/ 返回值 (Return Value) 此函数在失败时返回0,并在成功时返回替换次数。 例子 (Example)

  • \S

    描述 (Description) 字符类\S匹配任何非空白字符。 例子 (Example) 以下示例显示了预定义字符类匹配的用法。 package com.wenjiangs; import java.util.regex.Matcher; import java.util.regex.Pattern; public class PredefinedCharacterClassDemo {

  • \s

    描述 (Description) 字符类\s匹配任何空格字符。 例子 (Example) 以下示例显示了预定义字符类匹配的用法。 package com.wenjiangs; import java.util.regex.Matcher; import java.util.regex.Pattern; public class PredefinedCharacterClassDemo { p

  • 问题内容: 在我上大学的这个Java项目中,我遇到一种情况,当前正在使用 其中msgs是一个链接的阻止队列,通过 但是,我想使用一个ObjectInputStream和一个ObjectOutputStream。我已经在构造函数中初始化了它们,并在构造它后刷新了ObjectOutputStream,我读到某个地方必须这样做。 我想同时发送Strings和另一个Object类型,通过网络将其称为gam

  • The Stress Terminal UI: s-tui Stress-Terminal UI, s-tui, monitors CPU temperature, frequency, power and utilization in a graphical way from the terminal. Screenshot Table of Contents The Stress Termin

  • _ _ _____ | | | |/ ____|| | __ _ _ __ __ ___ _____| | (___ | | / _` | '__/ _` \ \ / / _ \ |\___ \ | |___| (_| | | | (_| |\ V / __/