Skip to content

quidphp/project

master
Switch branches/tags
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 

QuidPHP/Project

Release License PHP Version Style CI Code Size

About

QuidPHP/Project repository contains a sample application project built on top of the QuidPHP framework. This application is using LemurCms for content management.

License

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

Documentation

QuidPHP/Project documentation is being written. Once ready, it will be available at QuidPHP/Docs.

Installation

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

$ composer create-project quidphp/project --prefer-dist

Requirement

QuidPHP/Project requires the following:

  • PHP 7.4, 8.0 or 8.1 with these extensions:
    • ctype
    • curl
    • date
    • fileinfo
    • gd
    • iconv
    • json
    • mbstring
    • pcre
    • openssl
    • session
    • SimpleXML
    • zip
    • PDO
    • pdo_mysql
  • The following PHP INI directives are also required:
    • post_max_size must be at least 1MB
    • post_max_size must be larger than upload_max_filesize
    • memory_limit must be at least 128MB
  • Mysql (>= 8.0) or MariaDB (>= 10.5) database
  • Apache or Nginx server
    • Running on MacOs, Linux or Windows
  • Minimal browser: Internet Explorer 11

Dependency

QuidPHP/Project has the following dependencies:

  • quidphp/base - Quid\Base - PHP library that provides a set of low-level static methods
  • quidphp/main - Quid\Main - PHP library that provides a set of base objects and collections
  • quidphp/orm - Quid\Orm - PHP library that provides database access and a comprehensive ORM
  • quidphp/routing - Quid\Routing - PHP library that provides a route matching and triggering procedure
  • quidphp/core - Quid\Core - PHP library that provides an extendable platform to create dynamic applications
  • quidphp/front - Quid\Front - QuidPHP JavaScript and CSS front-end assets
  • quidphp/include - Quid\Include - Contains third-party front-end scripts
  • quidphp/lemur - Quid\Lemur - LemurCMS, a content management system built on top of the QuidPHP framework
  • verot/class.upload.php - Verot\Upload - A popular PHP class used for resizing images
  • phpmailer/phpmailer - PHPMailer\PHPMailer - The classic email sending library for PHP
  • tedivm/jshrink - JShrink - Javascript Minifier built in PHP
  • scssphp/scssphp - ScssPhp\ScssPhp - SCSS compiler written in PHP
  • tinymce/tinymce - Tinymce - The world's best JavaScript library for rich text editing

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

Setup

Once the installation is complete, simply follow these steps:

  1. Make sure the storage and public folders are writable by your web server. For storage also make sure all subdirectories are writable.
  2. Configure an Apache Virtual Host or Nginx Server Block in order to have a domain pointing to the public folder document root.
  3. Import db.sql within a new Mysql/MariaDB database.
  4. Duplicate the env-default.php file and rename it to env.php.
  5. Update the scheme hosts within the env.php file. You will need to set a different host (domain or subdomain) for the application and the CMS.
  6. Update the database parameters within the env.php file.
  7. Not required, but you are encouraged to change the namespace of all PHP classes within the src folder. The default namespace is Project.

Booting

There are two ways to boot the application or CMS.

HTTP

From your web browser, enter the URL to the public/index.php entry file. The host used will determine if the application or CMS is booted.

CLI

Open the project folder in the Command Line. Then submit a command that should be in the following format: php quid [path][:envType].

The envType determines if the application or CMS needs to be booted (and also in which environment). If the envType is not specified, the system will fallback to the cliEnvType value within the env.php file. Exemple:

$ php quid /en/my-url
$ php quid /en/my-url:dev/cms
$ php quid /:dev/app

Credentials

Once you open the CMS within your browser, you will need to login. The default user:

  • Username: admin
  • Password: changeme123

Once you are logged in, you will be able to change the password for the user and create new users.

Overview

QuidPHP/Project contains 19 files. Here is an overview:

Known issues

  • On Windows, there are some problems related to creating symlinks.
  • On Windows, you will need to add lower_case_table_names = 2 in your database configuration file (my.cnf). The table and column names need to be stored in their natural case.

Testing

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