PHP code example of yangsuda / slimcms

1. Go to this page and download the library: Download yangsuda/slimcms library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

yangsuda / slimcms example snippets


use SlimCMS\Core\RouteAction as Route;

Route::get('/path', 'Controller@method');    // GET
Route::post('/path', 'Controller@method');   // POST
Route::gp('/path', 'Controller@method');     // GET + POST
Route::any('/path', 'Controller@method');    // 所有方法

// 路由分组,支持链式挂载中间件
Route::group('/admin', function () {
    Route::get('/index', 'admin\MainController@index');
    Route::gp('/login', 'admin\LoginController@login');
    Route::group('', function () {
        Route::gp('/{path1}/{path2}'); // 动态路由参数
    })->add(AdminAuthMiddleware::class);
})->add(SessionMiddleware::class);

Route::get('/', 'main\MainController@index');
Route::get('/captcha', 'main\MainController@captcha');

Route::group('/admin', function () {
    Route::gp('/login', 'admin\LoginController@login');
    Route::get('/logout', 'admin\LoginController@logout');

    Route::group('', function () {
        Route::get('/index', 'admin\MainController@index');
        Route::gp('/updatePwd', 'admin\MainController@updatePwd');
        Route::gp('/{path1}/{path2}');
    })->add(AdminAuthMiddleware::class);
})->add(SessionMiddleware::class);
bash
public function dataSaveBefore(&$data, $row = [], $options = []): int
{
    return 200;
}
bash
public function dataViewAfter(&$data): int
{
    return 200;
}
bash
public function dataDelBefore($data, $options = []): int
{
    return 200;
}
bash
public function getFormHtmlBefore($fields, $row, $form, $options)
{
    return 200;
}
bash
public function dataExportBefore($condition, $result)
{
    return 200;
}
bash
{if ...}
...
{elseif ...}
...
{else}
....
{/if}
bash
<!--{if ...}-->
...
<!--{elseif ...}-->
...
<!--{else}-->
....
<!--{/if}-->
bash
<!--{loop $XXX $k $v}-->
$v[...]
...
<!--{/loop}-->
bash
composer 
bash
public function setTableName(string $tableName, string $extendName = null): self
    {
        $tableName = strtolower(substr(pathinfo(__CLASS__, PATHINFO_FILENAME), 0, -5));
        //根据年份进行分表
        if (!isset($extendName)) {
            $extendName = date('Y');
        }
        return parent::setTableName($tableName, $extendName);
    }