dicr / php-oclib
用于将 Yii 类连接到 OpenCart 的库
6.4.3
2021-06-25 05:27 UTC
Requires
- php: ~7.4 || ~8.0.1
- ext-imagick: *
- ext-json: *
- ext-mbstring: *
- ext-mysqli: *
- ext-pdo: *
- dicr/yii2-helper: ~4.5
- dicr/yii2-site: ~7.0
- dicr/yii2-validate: ~2.3
- yiisoft/yii2: ~2.0
Requires (Dev)
- roave/security-advisories: dev-latest
- dev-master
- 6.4.3
- 6.4.2
- 6.4.1
- 6.4
- 6.3.0
- 6.2.3
- 6.2.2
- 6.2.1
- 6.2
- 6.1.2
- 6.1.1
- 6.1.0
- 6.0.1
- 6.0.0
- 5.3.2
- 5.3.1
- 5.3.0
- 5.2.13.5
- 5.2.13.4
- 5.2.13.3
- 5.2.13.2
- 5.2.13.1
- 5.2.13
- 5.2.12.2
- 5.2.12.1
- 5.2.12
- 5.2.11.1
- 5.2.11
- 5.2.10
- 5.2.9.1
- 5.2.9
- 5.2.8
- 5.2.7
- 5.2.6
- 5.2.5
- 5.2.4
- 5.2.3
- 5.2.2
- 5.2.1
- 5.2.0
- 5.1.6
- 5.1.5
- 5.1.4
- 5.1.3
- 5.1.2
- 5.1.1
- 5.1.0
- 5.0.5
- 5.0.4
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
- 4.2.1
- 4.2.0
- 4.1.6
- 4.1.5
- 4.1.4
- 4.1.3
- 4.1.2
- 4.1.1
- 4.1.0
- 4.0.15
- 4.0.14
- 4.0.13
- 4.0.12
- 4.0.11
- 4.0.10
- 4.0.9
- 4.0.8
- 4.0.7
- 4.0.6
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.17
- 3.1.16
- 3.1.15
- 3.1.14
- 3.1.13
- 3.1.12
- 3.1.11
- 3.1.10
- 3.1.9
- 3.1.8
- 3.1.7
- 3.1.6
- 3.1.5
- 3.1.4
- 3.1.3
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.0
- 2.2.1
- 2.2.0
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.0
- 1.8.2
- 1.8.1
- 1.8.0
- 1.7.3
- 1.7.2
- 1.7.1
- 1.7.0
- 1.6.0
- 1.5.5
- 1.5.0
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.0
- 1.2.1
- 1.2.0
- 1.1.0
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
This package is auto-updated.
Last update: 2024-09-25 13:23:23 UTC
README
Yii2 适配器允许通过实现函数的方式(除控制器外)使用 Yii 库在 OpenCart 中连接和使用 Yii 组件。
连接 Yii2 库
通过 composer 自动加载类,包括外部库和 system
文件夹中的类。
composer.json
"require": {
"php": ">=7.2",
"dicr/php-oclib": "~3.1.5",
},
"autoload": {
"classmap": ["system/engine/", "system/library/"],
"files": ["system/helper/general.php", "system/helper/json.php", "system/helper/utf8.php"]
},
配置
/config/local.php
- 本地安装选项(协议、域名、密码、数据库)/config/common.php
- Yii 和 OpenCart 的通用配置,包含基本路径
/config/opencart.php
- OpenCart 的通用配置,适用于 /admin 和 /catalog 应用/config.php
- OpenCart 的配置,适用于 /catalog 应用/admin/config.php
- OpenCart 的配置,适用于 /admin 应用
/config/yii.php
- Yii 的通用配置/config/yii.web.php
- Yii 的 Web 配置/config/yii.console.php
- Yii 的 Console 配置
初始化
Yii 应用作为组件和服务的容器创建和使用,不使用 run
,而 Web 控制器保留在 OpenCart 中。
/system/startup.php
// 删除 OpenCart 的自动加载器 // spl_autoload_register('library'); // spl_autoload_register('vendor'); // spl_autoload_extensions('.php');
// Подключаем авто-загрузчик Composer
require(__DIR__ . '/../vendor/autoload.php');
// константы YII_ENV и YII_DEBUG должны быть установлены до загрузки Yii
defined('YII_ENV') or define('YII_ENV', 'dev');
defined('YII_DEBUG') or define('YII_DEBUG', DEBUG);
// подключаем класс Yii
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
// создаем приложение Yii
new yii\web\Application(require(__DIR__ . '/../config/yii.web.php'));
路由
/.htaccess
和 /admin/.htaccess
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css|pdf)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
URL 重写
为了使用 URL 重写,在 OpenCart 中添加标准的 preAction 控制器到 /index.php
和 /admin/index.php
// Инициализация SEO ЧПУ и маршрутизации Yii
$controller->addPreAction(new Action('startup/url'));
在这种情况下,也会支持短路径
- 代替
/index.php?route=catalog/product&product_id=123
- 可以使用
/catalog/product?product_id=123
在 /catalog/controllers/startup/url.php
控制器中使用 oclib 控制器的继承
class ControllerStartupUrl extends ControllerCatalogStartupUrl {}
代理类
需要将 OpenCart 的类替换为目录 opencart
中的空类,这些空类继承自 dicr\oclib
的同名类。