ئالدىنقى ساندا بىز سىستىمىنىڭ دەسلەپكى قۇرۇلمىسىنى چىقىرىۋالدۇق . ئەلۋەتتە بىز سىستېما يېزىش جەريانىدا composer
بولاقلىرىدىن ئايرىلالمايمىز ، مەسلەن بىز قېلىپ ئۈچۈن twig
ئىشلىتىمىز . ساندان ئۈچۈن laravel DB
ئىشلىتىمىز . شۇڭا بىز سىستىمىنى composer
نى نۇرمال ئىشلەتكىنى بۇلىدىغان قىلىپ چىقايلى . بۇنىڭ ئۈچۈن بىز composer.json
نى يېزىپ چىقايلى .
composer.json
{
"name": "implcms/implcms",
"type": "cms",
"description": "app based cms",
"keywords": ["cms","app","ide"],
"homepage": "http://www.implcms.com",
"license": "MIT",
"require": {
"twig/twig": "^2.0",
"wikimedia/composer-merge-plugin": "^1.4"
},
"repositories": {
"packagist": {
"type": "composer",
"url": "https://mirrors.aliyun.com/composer/"
}
},
"extra": {
"merge-plugin": {
"include": [
"applications/*/composer.json"
],
"recurse": true,
"replace": false,
"ignore-duplicates": true,
"merge-dev": true,
"merge-extra": true,
"merge-extra-deep": false,
"merge-scripts": false
}
}
}
ئۈستىدىكى سەپلىمىدە بىزنىڭ سىستىمىنىڭ ئاساسلىق ئۇچۇرلىرى ۋە تايىنىدىغان بولاقلار بار . دەسلەپكى قەدەمدە بىز بۇ ئىككى بولاقنى تونۇشتۇرۇپ چىقايلى .
twig
- قېلىپ بىر تەرەپ قىلىش بولىقى . تەپسىلاتى
wikimedia/composer-merge-plugin
- يەنى بىزنىڭ ئەپلەر تايىنىدىغان بولاقلانىمۇ بىللە قاچىلاپ بىرىدغان قىستۇرما .
يەنە بىر دېققەت قىلىدىغان نوقتا ، repositories
نىڭ ئىچىدىكى aliyun
نىڭ ئادىرىسى ، دۆلەت ئىچىدە ئەسلى تەرەپنى زىيارەت قىلىش ئاستا بولغاچقان ، بىز aliyun
نىڭ مەنبەسىنى ئىشلەتسەك بۇلىدۇ .
ئەمىسە قاچىلاپ كۆرۈپ باقايلى .
composer install
قاچىلاپ بولغاندىن كىيىن بىزنىڭ باش مۇندەرىجىدە vendor
نامىدىكى قىسقۇچنىڭ كۆپىيىپ قالغانلىقىنى بايقايمىز . بۇ دەل بىز تاينىدىغان كود بازىسى . ئەمدى بىز بۇ كودلارنى قانداق قىلىپ نۇرمال ئىشلىتەلەيمىز ؟ autoload.php
ئىسىڭلاردا بۇلىشى مۇمكىن . ئەلۋەتتە composer
مۇ دەل مۇشۇنداق بىر ھۆججەت تەمىلىگەن بىز بۇ ھۆججەتنى ئەكىرىپ قويساقلا ھەممىنى نۇرمال ئىشلىتەلەيمىز . ئەمىسە autoload.php
نى مۇنداق ئۆزگەرتەيلى .
autoload.php
<?php
/**
* 加载composer
*/
require_once(dirname(__DIR__)."/vendor/autoload.php");
/**
* 加载我们帮助函数
*/
require_once(__DIR__."/helpers.php");
/**
* 自动加载我们调用的类
*/
spl_autoload_register(function($name){
$section = explode("\\",$name);
$className = end($section);
array_pop($section);
foreach ($section as $index => $value) {
$value = preg_split('/(?=[A-Z])/',$value);
array_shift($value);
$section[$index] = strtolower(implode($value, "-"));
}
$path = dirname(__DIR__).'/'.implode("/",$section)."/".$className.'.php';
if(file_exists($path)){
require_once $path;
}
});
ئەمىدى بىز composer
بولاقىلىرىنى نۇرمال ئىشلىتەلەيمىز دېگەن گەپ . قېنى WebService
دا ئىشلىتىپ كۆرۈپ باقايلى .
WebService.php
<?php namespace System\Services;
/**
* 网页服务
*/
class WebService
{
/**
* 静态处理器
*/
public static function service(){
$loader = new \Twig\Loader\ArrayLoader([
'home' => '<h1>Hello {{ name }}!</h1>',
]);
$twig = new \Twig\Environment($loader);
$html = $twig->render('home', ['name' => 'ImplCMS']);
\Response::html($html);
}
}
ئەمدى باشبەتنى ئاچساق Hello ImplCMS!
دېگەن خەتنى كۆرىمىز . بۈگۈن مۇشۇ يەرگىچە بولسىۇن ، كودنى يوللىۋېتەي .
كود ئادرىسى