zemit-cms / core
Zemit CMS 核心库
Requires
- php: >=8.2
- ext-intl: *
- ext-json: *
- ext-mbstring: *
- ext-pdo: *
- ext-phalcon: >=5.7
- ext-sodium: *
- docopt/docopt: ^1.0
- league/flysystem: ^3.27
- league/fractal: ^0.20.1
- phalcon/devtools: ~5.0
- phalcon/incubator-mailer: ^2.0
- vlucas/phpdotenv: ^5.6
Requires (Dev)
- ext-apcu: *
- ext-bcmath: *
- ext-gd: *
- ext-imap: *
- ext-redis: *
- ext-simplexml: *
- ext-sockets: *
- ext-zend-opcache: *
- aws/aws-sdk-php: ^3.300
- google/recaptcha: ^1.3
- joshtronic/php-loremipsum: ^2.1
- league/csv: ^9.15
- league/oauth2-client: ^2.7
- league/oauth2-facebook: ^2.2
- league/oauth2-github: ^3.1
- league/oauth2-google: ^4.0
- league/oauth2-instagram: ^3.1
- league/oauth2-linkedin: ^5.1
- mustache/mustache: ^2.14
- orhanerday/open-ai: ^5.1
- pds/skeleton: ^1.0
- phalcon/ide-stubs: ^5.7
- php-imap/php-imap: ^5.0
- phpspec/phpspec: ^7.5
- phpstan/phpstan: ^1.11
- phpunit/phpunit: ^10.5
- shuchkin/simplexlsxgen: ^1.4
- smarty/smarty: ^4.5
- spatie/array-to-xml: ^3.3
- squizlabs/php_codesniffer: ^3.10
- thiagoalessio/tesseract_ocr: ^2.13
- twig/twig: ^3.10
- xenolope/quahog: ^3.0
Suggests
- ext-apcu: *
- ext-bcmath: *
- ext-gd: *
- ext-imap: *
- ext-redis: *
- ext-simplexml: *
- ext-sockets: *
- ext-zend-opcache: *
- aws/aws-sdk-php: ^3.300
- google/recaptcha: ^1.3
- joshtronic/php-loremipsum: ^2.1
- league/csv: ^9.16
- league/oauth2-client: ^2.7
- league/oauth2-facebook: ^2.2
- league/oauth2-github: ^3.1
- league/oauth2-google: ^4.0
- league/oauth2-instagram: ^3.1
- league/oauth2-linkedin: ^5.1
- mustache/mustache: ^2.14
- orhanerday/open-ai: ^5.1
- php-imap/php-imap: ^5.0
- shuchkin/simplexlsxgen: ^1.4
- smarty/smarty: ^4.4
- spatie/array-to-xml: ^3.2
- thiagoalessio/tesseract_ocr: ^2.13
- twig/twig: ^3.8
- xenolope/quahog: ^3.0
- dev-master
- 1.0.x-dev
- 0.4.x-dev
- 0.4.12
- 0.4.11
- 0.4.10
- 0.4.9
- 0.4.8
- 0.4.7
- 0.4.6
- 0.4.5
- 0.4.4
- 0.4.3
- 0.4.2
- 0.4.1
- 0.4.0
- 0.2.3
- 0.1.33
- 0.1.31
- 0.1.30
- 0.1.29
- 0.1.28
- 0.1.27
- 0.1.26
- 0.1.25
- 0.1.24
- 0.1.23
- 0.1.22
- 0.1.21
- 0.1.20
- 0.1.19
- 0.1.18
- 0.1.17
- 0.1.16
- 0.1.15
- 0.1.14
- 0.1.13
- 0.1.12
- 0.1.11
- 0.1.10
- 0.1.9
- 0.1.8
- 0.1.7
- 0.1.6
- 0.1.5
- 0.1.4
- 0.1.3
- 0.1.2
- 0.1.1
- 0.1.0
- dev-phalcon5
- dev-model-rest-refactor
This package is auto-updated.
Last update: 2024-09-28 18:40:26 UTC
README
欢迎使用 Zemit Core,它是为 Phalcon PHP 框架设计的创新增强工具,旨在加速您的网络开发流程。Zemit Core 不仅仅是一个附加组件;它是一个全面的工具集,可以改变您构建和管理网络应用程序的方式。
在核心上,Zemit Core 注重简洁、高效和可扩展性。无论是开发复杂的商业应用程序还是简单的网站,Zemit 都提供了一个强大、灵活的基础,可以适应您的需求。Zemit Core 建立在 Phalcon 之上,Phalcon 是最快的 PHP 框架之一,它利用了其性能,同时调整现有组件并引入了一系列新的功能和功能。
主要亮点
- 丰富的服务提供者:从身份验证到资产管理,Zemit Core 通过大量的可定制服务提供者和核心功能丰富了您的开发体验。
- 模块化架构:具有基础模块如 前端、命令行界面、CMS、管理、REST 和 RESTful API,Zemit 具有足够的灵活性,让您成为自己架构的指挥家,并有效地处理网络开发的各个方面。
- 提高生产效率:通过自动化常见任务和减少重复编码,Zemit 让您专注于项目独特的方面:业务逻辑。
- 社区驱动:作为一个开源项目,Zemit 不断地随着充满活力的开发者社区的贡献而不断发展。
无论您是经验丰富的 Phalcon 开发者还是框架的新手,Zemit Core 都提供了无缝、直观的体验,让您能够快速、轻松地创建出色的网络应用程序。
让我们深入了解 Zemit Core 为您的开发之旅准备了什么!
入门指南
使用 Zemit 创建新项目
如果您想从头开始创建一个新项目,我们邀请您访问 Zemit App 仓库以获取更多信息。对于全新项目,composer create-project
非常有用,它将创建所有必要的和推荐文件以及默认配置,以节省您的时间和精力。
# Replace <new-project-name> by your project name composer create-project zemit-cms/app <new-project-name>
将 Zemit 添加到现有项目
对于现有项目,composer require
非常有用。
composer require zemit-cms/core
就这样,您可以通过在应用程序中加载 composer 自动加载器来简单地开始使用 Zemit 类。
如果您想充分利用 Zemit,可以使用 \Zemit\Bootstrap
引导您的应用程序。以下是一个使用 \Phalcon\Autoload\Loader
实现此目的的最小示例。
// index.php <?php use Phalcon\Autoload\Loader; use Zemit\Bootstrap; $loader = new Loader(); $loader->setFiles(['vendor/autoload.php']); $loader->setNamespaces(['MyApp' => 'src/']); $loader->register(); echo (new Bootstrap())->run();
配置
Zemit 将自动在项目根目录中查找 .env
。在那里,您可以添加自己的自定义变量或设置 Zemit 本身支持的自定义变量。
添加数据库配置,注意我们使用 dotenv 加载 .env 配置。只需将 .env 文件添加到项目根目录。
# My App Config MY_APP_VARIABLE="my-app-value" # Example: Database Config DATABASE_HOST=<my-db-host> DATABASE_DBNAME=<my-db-name> DATABASE_USERNAME=<my-db-user> DATABASE_PASSWORD=<my-db-pass>
初始化数据库
我们使用 phalcon cli 运行并生成数据库迁移。
./vendor/bin/phalcon migration run --config=./src/Config/Migration.php --directory=./ --migrations=./src/Migrations/ --no-auto-increment --force --verbose --log-in-db
提供应用程序服务
要本地使用Zemit Core的Web MVC模块,您可以使用PHP内置的Web服务器。请注意,这个Web服务器是为了辅助应用程序开发而设计的。它也可能在测试目的或运行在受控环境中的应用程序演示中很有用。它不是一个功能齐全的Web服务器。
php -S 0.0.0.0:8000 /public/index.php
现在您应该可以从https://:8000访问Zemit Core前端模块
这个Web服务器只运行一个单线程进程,因此如果请求被阻塞,PHP应用程序将会停滞。有关CLI SAPI内置Web服务器的更多信息,请参阅官方文档:https://php.ac.cn/manual/en/features.commandline.webserver.php
功能齐全的Web服务器
如果您想将应用程序公之于众的全球互联网,您可以使用apache、nginx或任何类似的生产级Web服务器。
您需要一个Web服务器服务来指向新项目中的/public/
文件夹。以下是一个使用Redhat上remi仓库的apache 2.4 + php-fpm 8.2的虚拟主机示例。
<VirtualHost *:80> ServerName domain.tld ServerAlias www.domain.tld DocumentRoot /mnt/hgfs/dev/zemit/core/public/ <Directory /mnt/hgfs/dev/zemit/core/public/> Options -Indexes +FollowSymLinks +MultiViews AllowOverride All Require all granted </Directory> <FilesMatch \.(php|phar)$> SetHandler "proxy:unix:/var/opt/remi/php82/run/php-fpm/www.sock|fcgi://" </FilesMatch> </VirtualHost> <VirtualHost *:443> ServerName domain.tld ServerAlias www.domain.tld DocumentRoot /mnt/hgfs/dev/zemit/core/public/ <Directory /mnt/hgfs/dev/zemit/core/public/> Options -Indexes +FollowSymLinks +MultiViews AllowOverride All Require all granted </Directory> <FilesMatch \.(php|phar)$> SetHandler "proxy:unix:/var/opt/remi/php82/run/php-fpm/www.sock|fcgi://" </FilesMatch> SetEnv HTTPS on SetEnv HTTP_X_FORWARDED_PROTO https </VirtualHost>
需求
Zemit Core旨在与一组特定的技术和PHP扩展无缝工作,以确保最佳的性能和功能。
要检查和安装必要的PHP扩展以及管理Zemit的依赖项,请使用Composer
composer require zemit-cms/core
此命令将自动验证您的环境是否符合运行Zemit Core的要求,并安装任何缺失的依赖项。
满足这些要求可以确保您在使用Zemit Core时获得顺畅且高效的体验。
语言和兼容性
Zemit被构建得灵活而强大,支持广泛的技术和组件。虽然我们有某些核心要求,但您可以根据项目需求自由集成额外的工具。
- Composer:用于管理Zemit的依赖项。Composer简化了PHP包的安装和更新过程,是管理Zemit组件的重要工具。
- PHP >= 8.2:对于Zemit至关重要,PHP 8.2+带来了现代特性和改进的性能。
- PhalconPHP >= 5.6.2:我们的核心框架。Phalcon的效率和丰富的功能对于Zemit的性能至关重要。
- 数据库灵活性:虽然我们推荐使用MySQL >= 8.0,因为它具有强大的功能,但Zemit与Phalcon支持的其他数据库兼容。这种灵活性允许您选择最适合项目需求的数据库。
- PSR标准:遵守PSR标准是强制性的,确保互操作性和标准编码实践。
此外,虽然不是强制性的,但以下内容高度推荐以增强性能和功能
通过利用这些技术,Zemit提供了一个可扩展、健壮的平台,用于开发Web应用程序,使您能够根据需要定制环境。
联系方式
对Zemit有任何问题、反馈或需要帮助吗?我们在这里为您服务!
- 一般咨询和实时支持:如果您有一般性问题或需要关于Zemit的即时帮助,请随时加入我们充满活力的社区Discord。这里是实时讨论、支持和从Zemit团队和用户那里获取建议的完美场所。
- 社区支持:加入我们的社区,在GitHub Discussions。这是一个寻求帮助、分享您的Zemit经验和与同行用户及开发团队建立联系的好地方。
- 问题报告:遇到错误或有功能请求?请在我们的GitHub Issues页面提交详细的报告。
- 社交媒体:关注我们的Twitter和Facebook,获取最新新闻、更新和社区讨论。
您的输入和互动对Zemit的持续发展和成功至关重要。不要犹豫,随时联系我们——我们总是期待听到您的声音!
贡献
我们热烈欢迎对Zemit项目的贡献!无论您是否擅长编码、文档、设计或测试,您的贡献都能产生重大影响。
以下是一些您可以贡献的方式
- 代码贡献:提交错误修复、添加新功能或增强现有功能。
- 文档:改进或更新文档,使Zemit更容易为用户使用。
- 问题报告:报告错误或提出新想法和改进建议。
- 社区支持:通过在我们的论坛或社交媒体渠道回答问题来帮助新用户。
要开始,请阅读我们的CONTRIBUTING.md指南。它涵盖了您需要了解的所有关于为Zemit做出贡献的信息,包括如何提交您的更改以及我们的编码标准。
加入我们,共同将Zemit打造得更加强大和用户友好的CMS!
许可
Zemit致力于开源和社区驱动的发展,自豪地采用BSD 3-Clause License许可。此许可授予您广泛的自由来使用、修改和分发软件,确保Zemit始终是一个对所有用户都开放的社区资产。
我们尊重知识产权和贡献者的努力。因此,所有使用Zemit的行为都应遵守许可证中概述的条件。
关于BSD 3-Clause License的完整条款和条件,请参阅我们的LICENSE.txt文件。
© 2017-至今,Zemit团队。保留所有权利。