承接 quidphp/site 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

quidphp/site

Composer 安装命令:

composer require quidphp/site

包简介

Extended platform to build a website using the QuidPHP framework and LemurCMS

README 文档

README

Release License PHP Version Style CI Code Size

About

QuidPHP/Site is an extended platform to build a website using the QuidPHP framework and LemurCMS. It is part of the QuidPHP package.

License

QuidPHP/Site is available as an open-source software under the MIT license.

Documentation

QuidPHP/Site documentation is available at QuidPHP/Docs.

Installation

QuidPHP/Site can be easily installed with Composer. It is available on Packagist.

$ composer require quidphp/site

Once installed, the Quid\Site namespace will be available within your PHP application.

Requirement

QuidPHP/Site requires the following:

  • PHP 8.1
  • All requirements of quidphp/lemur
  • Any modern browser (not Internet Explorer)

Dependency

QuidPHP/Site has the following dependency:

  • quidphp/lemur - Quid\Lemur - LemurCMS, a content management system built on top of the QuidPHP framework

All dependencies will be resolved by using the Composer installation process.

Comment

QuidPHP/Site code is commented and all methods are explained (in French).

PHP

Convention

QuidPHP/Site is built on the following conventions:

  • Core overloading: This namespace overloads many classes from Quid\Core and Quid\Lemur.
  • Auto-alias: All class names that finishes by Alias will resolve to the existing class if no alias exists. Exemple: MyRole extents RoleAlias -> will resolve to Role if no alias is found.
  • Traits: Traits filenames start with an underscore (_).
  • Type: Files, function arguments and return types are strict typed.
  • Config: A special $config static property exists in all classes. This property gets recursively merged with the parents' property on initialization.
  • Coding: No curly braces are used in a IF statement if the condition can be resolved in only one statement.

Overview

QuidPHP/Site contains 49 classes, traits and interfaces. Here is an overview:

  • App
    • CliClearAll - Class for a cli route to remove all cached and logged data
    • CliClearCache - Class for a cli route to remove all cached data
    • CliClearLog - Class for a cli route to remove all log data
    • CliCompile - Class for a cli route to compile assets (js and css)
    • CliPreload - Class for a cli route to generate the preload PHP script
    • CliSessionGc - Class for a cli route to remove expired sessions for the app
    • CliVersion - Class for a version route of the app, accessible via the cli
    • Error - Abstract class for the error route of the app
    • Home - Abstract class for the home route of the app
    • Robots - Class for the robots.txt route of the app
    • Sitemap - Class for the automated sitemap.xml route of the app
  • Boot - Extended abstract class for the object that bootstraps the app and cms
  • Cell
    • EmailNewsletter - Class for an email newsletter cell (subscribes to a third-party newsletter)
    • GoogleMaps - Class to work with a cell containing Google maps geo-localization data
    • JsonForm - Class to work with a cell containing a json form
    • JsonFormRelation - Class to manage a cell containing a relation value to another cell containing a json form
  • Cms
    • CliPreload - Class for a cli route to generate the preload PHP script for the CMS
  • Col
    • EmailNewsletter - Class for an email newsletter column (subscribes to a third-party newsletter)
    • Embed - Class for a column containing an embed video (from youtube or vimeo)
    • GoogleMaps - Class for a GoogleMaps column, with geo-localization data
    • Hierarchy - Class for an hierarchy column, like a website page sitemap
    • JsonForm - Class for a column containing a json form
    • JsonFormRelation - Class to manage a column containing a relation value to another column which is a jsonForm
    • Route - Class for a column that creates an enum relation with route classes
    • Vimeo - Class for a column containing a Vimeo video
    • YouTube - Class for a column containing a YouTube video
  • Contract
    • Newsletter - Interface to describe methods for a newsletter third-party service
  • Db - Extended class used to query the database, adds app config
  • Lang
    • En - English language content used by this namespace
    • Fr - French language content used by this namespace
  • Route - Extended abstract class for a route, adds app logic
    • NewsletterSubmit - Abstract class for a newsletter submit route
    • _breadcrumbs - Trait that provides methods related to generating breadcrumbs
    • _general - Trait that provides basic methods used for a general route
    • _page - Trait that provides basic logic for a page route
    • _pageBreadcrumbs - Trait that provides a method related to generating breadcrumbs for a page
    • _specific - Trait that provides basic methods used for a specific route
  • Row - Extended class to represent a row within a table, adds app config
    • Page - Class for a row which represents a page
    • User - Extended class for a row of the user table, with app logic
    • _pageConfig - Trait related to the configuration of a row representing a page
  • Service
    • GoogleAnalytics - Class that provides some methods to integrate GoogleAnalytics tracking
    • GoogleGeocoding - Class used to make GoogleGeocoding localization requests
    • GoogleMaps - Class used to generate javascript GoogleMaps
    • GoogleTagManager - Class used to generate the googleTagManager trackers
    • Mailchimp - Class that provides some methods to communicate with Mailchimp using api 3
    • PdfCrowd - Class that provides some methods to communicate with Pdfcrowd (and generate a pdf from html)
    • Vimeo - Class used to make requests to the Vimeo API
    • YouTube - Class that can be used to make requests to the YouTube API

Testing

QuidPHP/Site contains 3 test classes:

  • Boot - Class for testing Quid\Site\Boot
  • Db - Class for testing Quid\Site\Db
  • Suite
    • BootSite - Class for booting the Quid\Site testsuite

QuidPHP/Site testsuite can be run by creating a new QuidPHP/Assert project.

JavaScript

Convention

  • ES5: All code is compatible with ES5, there is no need for any JavaScript transpiler.
  • Strict: All generated files declare use strict on the first line.
  • Compiling: The concatenation of the JS files is done on the PHP side.

Overview

QuidPHP/Site contains 14 JavaScript files. Here is an overview:

  • cms
    • jsonForm - Script containing logic for the jsonForm component which is based on the addRemove input
    • site - Script of additional behaviours for the specific form page of the CMS
  • component
    • carouselScroll - Script for a carousel component which scrolls
    • clickRemove - Component that removes itself on click
    • googleAnalytics - Script containing logic for googleAnalytics
    • googleMaps - Script containing logic for a simple googleMaps component
    • hoverSlide - Component to change height of target with mouseenter/mouseleave
    • preload - Component to preload assets, currently only images
    • scrollSections - Script containing logic for scrolling multiple sections linked to a hash
    • tabsScroll - Component that adds scrolling support to tabsSlider
    • tabsSlider - Component that adds timeout and iframe support to the tabsNav component
    • toggler - Component to toggle attributes on many elements using a trigger
    • windowSmall - Component to open a small window from an anchor link
    • wrapConsecutive - Component to wrap consecutive nodes of the same type in another node

CSS

Convention

  • SCSS: Nesting, variables and mixins are used within the stylesheets.
  • Compiling: The compiling and concatenation of the SCSS files is done on the PHP side.

Overview

QuidPHP/Site contains 8 SCSS stylesheets. Here is an overview:

quidphp/site 适用场景与选型建议

quidphp/site 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 86 次下载、GitHub Stars 达 2, 最近一次更新时间为 2020 年 07 月 24 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「php-framework」 「quid」 「quidphp」 「php-cms」 「lemur-cms」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 quidphp/site 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 quidphp/site 我们能提供哪些服务?
定制开发 / 二次开发

基于 quidphp/site 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 86
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 9
  • 依赖项目数: 4
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 2
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-07-24