Download the PHP package yangsuda/slimcms without Composer

On this page you can find all versions of the php package yangsuda/slimcms. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package slimcms

Latest Stable Version Total Downloads Latest Unstable Version PHP Version Require

预览

列表 添加编辑 接口文档
alt tag alt tag alt tag

说明

基于Slim4、PSR-7和PHP-DI容器实现。

debug默认是开启的,生产环境下CORE_DEBUG建议改成false

生产环境下建议opcache扩展开启,本地测试性能会有近10倍的提升

数据库连接默认通过“mysql:host=XXX:XXX;”方式连接,有些情况下会连接不成功,可改成“mysql:host=XXX;port=XXX;”试试, 操作方式:将config/settings.php中的connecttype参数置为空

CORE_DEBUG关闭情况下,系统配置默认会生成文件:/data/CompiledContainer.php,在部分情况下更新系统配置时,此文件不会更新,遇到此问题时,可将此文件直接删除,系统会重新再次生成,或将init.php中的$containerBuilder->enableCompilation(CSDATA);注释掉

开发版下载

将“[my app name]”替换为新应用程序所需的目录名。

建议将虚拟主机文档根目录指向新应用程序的“public/”目录。

安装配置

通过运行“public/install/”进行安装

路由规则

控制层:app/Control,Control中的文件夹名称由入口文件中CURSCRIPT常量决定,如:默认前端入口对应是main文件夹

URL通过?p=CLASS/METHOD方式访问控制层相应的方法,如没在相应类中找到相应方法会在当前文件夹中的DefaultControl.php中寻找, 如果还没找到,会到上级app/Control/"CURSCRIPT"/DefaultControl中寻找,如还没找到,继续到app/DefaultControl寻找,再找不到就报错

如:访问/?p=view/abc/test

会先找app/Control/main/view/AbcControl中test方法,如果没找到相应的方法,则会按上面说的一级级去找,如果找不到就报错

如:访问/?p=view/test

会先找app/Control/main/ViewControl中test方法,如果没找到相应的方法,则会按上面说的一级级去找,如果找不到就报错

如:访问/?p=test

会先找app/Control/main/TestControl中test方法,如果没找到相应的方法,则会按上面说的一级级去找,如果找不到就报错

数据获取

通过self::input()获取外部传参

self::inputInt获取强转为int类型的外部传参

self::inputFloat获取强转为float类型的外部传参

self::inputString获取强转为string类型的外部传参

数据结构

Model层数据统一以Output对象形式返回,

通过getCode方法获取状态码,200为正确,其它为错误,如:$output->getCode()

通过withCode方法设置状态码,如:$output->withCode(24024)

通过getData方法获取返回值,如:$output->getData()

通过withData方法设置返回值,如:$output->withData(['value'=>'test'])

通过getTemplate方法获取模板,如:$output->getTemplate()

通过withTemplate方法设置设置解析的模板,如:$output->withTemplate('main/index')

通过getReferer方法获取来路URL,如:$output->getReferer()

通过withReferer方法设置来路URL,如:$output->withReferer('?p=test')

数据输出

共有5种输出方式

1、$this->view(),用于模板渲染加载输出

2、$this->directTo(),直接跳转,提示信息存储在cookie中,如需显示,在模板中通过$data[errorCode]、$data[errorMsg]加载

3、$this->json(),返回json数据

4、$this->jsonCallback(),用于跨域请求

5、self::response(),根据请求的content-type返回相应的数据类型

功能插件

框架本身只提供基础构建,一些具体功能通过插件化实现,目前有接口插件、支付插件、文件管理插件、文件安全校验插件四个插件,后期会根据实际需要增加更多插件。

通过在插件市场下载安装,对于已经下载的插件可开启或关闭,卸载插件时会提示是否删除安装时添加的相应表,如果不删除相应表,再次安装时将会提示安装失败

数据接口

需要先安装接口插件,接口文档和数据接口通过后台表单开放接口权限控制,分“列表、展示、添加修改、删除、导出、表单结构、审核、统计”8种权限, 如不能满足需求,可自定义接口。

数据统一以json格式返回,状态码200为正常,其它为错误

默认增删改查定制化

可通过在/app/Table文件夹中创建对应表的类文件来实现数据输入输出的定制化,格式为“表名Table.php”,(注:第一个字母要大写),如admin表,在文件夹中创建AdminTable.php文件

数据列表(forms/dataList)

可在上面的类文件中定义 dataListInit、dataListBefore、dataListAfter 方法来实现列表的前、中、后三个阶段的数据输入输出控制,(注:状态码返回200为成功,其它为报错),具体参见Forms.php文件,如:

数据保存(forms/dataSave)

可在上面的类文件中定义 dataSaveInit、dataSaveBefore、dataSaveAfter 方法来实现数据保存的前、中、后三个阶段的数据输入输出控制,(注:状态码返回200为成功,其它为报错),具体参见Forms.php文件,如:

数据详细(forms/dataView)

可在上面的类文件中定义 dataViewBefore、dataViewAfter 方法来实现数据详细的前、后两个阶段的数据输入输出控制,(注:状态码返回200为成功,其它为报错),具体参见Forms.php文件,如:

数据删除(forms/dataDel)

可在上面的类文件中定义 dataDelBefore、dataDelAfter 方法来实现数据删除的前、后两个阶段的数据输入输出控制,(注:状态码返回200为成功,其它为报错),具体参见Forms.php文件,如:

数据审核(forms/dataCheck)

可在上面的类文件中定义 dataCheckBefore、dataCheckAfter 方法来实现数据审核的前、后两个阶段的数据输入输出控制,(注:状态码返回200为成功,其它为报错),具体参见Forms.php文件,如:

数据统计(forms/dataCount)

可在上面的类文件中定义 dataCountBefore 方法来实现数据统计的前的数据输入控制,(注:状态码返回200为成功,其它为报错),具体参见Forms.php文件,如:

生成的表单HTML(forms/dataFormHtml)

可在上面的类文件中定义 getFormHtmlBefore、getFormHtmlAfter 方法来实现生成的表单HTML的前、后两个阶段的数据输入输出控制,(注:状态码返回200为成功,其它为报错),具体参见Forms.php文件,如:

数据导出(forms/dataExport)

可在上面的类文件中定义 dataExportBefore、dataExportAfter 方法来实现数据导出的前、后两个阶段的数据输入输出控制,(注:状态码返回200为成功,其它为报错),具体参见Forms.php文件,如:

前端web页面

前端web页面默认根据后台表单开放前端WEB功能权限控制显示,分“列表、展示、添加修改、删除、导出、表单结构、审核”7种权限, 对应列表、详细、编辑添加三种页面。

默认模板在template/forms/中,如自定义模板,先创建相应的文件夹,再根据表单ID(fid)创建相应的模板。

如:自定义fid为1的列表模板,在template/forms/中创建dataList文件夹,在其中创建1.htm模板,系统会自动加载此模板, 如不能满足需求,可自行开发

模板标签

模板中可直接加载变量 $code(状态码)、$msg(提示信息)、$referer(来路URL)、$data(数据)、$cfg(系统配置参数)

如加载数组中某一元素,模板中可通过$data[xxx][xxx]...加载。

注:在某些情况下,会导致变量加载失败,如在汉字或字母中间加载某一变量,变量需用{}括起来,如:{$data[xxx][xxx]}

条件判断标签

遍历循环标签

注:$k也可以不写,写成{loop $XXX $v}

表单列表数据标签

更多标签说明具体参见Template.php

附件上传

默认是上传附件本地存储, 如想改成阿里云的OSS存储

1、加载阿里云的SDK

2、修改调用参数$accessKeyId、$accessKeySecret等:app/Model/aliyun/AliOss.php

3、修改加载的上传类:app/Core/settings.php

将new Upload()改成new AliOss(),注意相应的引用要改一下

数据库分表

对于像日志类的表如果长时间积累可能会导致表数据非常庞大,影响执行效率,所以可以考虑分表操作。

具体操作:

在app/Table/文件夹中创建相应表的类文件,文件名称格式:表名+'Table.php'(表名第一个字母大写),如:AdminlogTable.php

在构造函数中增加$this->subtable($tableName, $extendName);

如:

以示例为例

数据库中将自动创建表adminlog2022

数据调用方式:self::t('adminlog')->...(默认调用当前年份数据),如需调用2021数据,:self::t('adminlog','2021')->...

apache伪静态规则

nginx伪静态规则

注:此规则是在将根目录指向到“public/”目录的情况下的规则.


All versions of slimcms with dependencies

PHP Build Version
Package Version
Requires php Version ^7.3
yangsuda/framework Version ^2.1
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package yangsuda/slimcms contains the following files

Loading the files please wait ....