Download the PHP package afinogen/laminas-mvc-starter-kit without Composer
On this page you can find all versions of the php package afinogen/laminas-mvc-starter-kit. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package laminas-mvc-starter-kit
laminas-mvc-starter-kit
Introduction
This is a skeleton application using the Laminas MVC layer and module systems. This application is meant to be used as a starting place for those looking to get their feet wet with Laminas MVC.
This is my vision of the application skeleton. Use as is
Installation using Composer
The easiest way to create a new Laminas MVC project is to use Composer. If you don't have it already installed, then please install as per the documentation.
To create your new Laminas MVC project:
Once installed, you can test it out immediately using PHP's built-in web server:
This will start the cli-server on port 8080, and bind it to all network interfaces. You can then visit the site at http://localhost:8080/
- which will bring up Laminas MVC Skeleton welcome page.
Note: The built-in CLI server is for development only.
Development mode
The skeleton ships with laminas-development-mode by default, and provides three aliases for consuming the script it ships with:
You may provide development-only modules and bootstrap-level configuration in
config/development.config.php.dist
, and development-only application
configuration in config/autoload/development.local.php.dist
. Enabling
development mode will copy these files to versions removing the .dist
suffix,
while disabling development mode will remove those copies.
Development mode is automatically enabled as part of the skeleton installation process.
After making changes to one of the above-mentioned .dist
configuration files you will
either need to disable then enable development mode for the changes to take effect,
or manually make matching updates to the .dist
-less copies of those files.
Modules used
laminas/laminas-db - connect to DB
laminas/laminas-mvc-form - use forms
laminas/laminas-session - use session for save auth user
symfony/console - run console commands
robmorgan/phinx - db migration
vlucas/phpdotenv - use .env files
tekill/env-diff - diff .env and .env.dist files
laminas/laminas-authentication - auth user
laminas/laminas-permissions-acl - user roles
Running Unit Tests
To run the supplied skeleton unit tests, you need to do one of the following:
- During initial project creation, select to install the MVC testing support.
- After initial project creation, install laminas-test:
Once testing support is present, you can run the tests using:
If you need to make local modifications for the PHPUnit test setup, copy
phpunit.xml.dist
to phpunit.xml
and edit the new file; the latter has
precedence over the former when running tests, and is ignored by version
control. (If you want to make the modifications permanent, edit the
phpunit.xml.dist
file.)
Using docker-compose
This skeleton provides a docker-compose.yml
for use with
docker-compose.
Docker-compose.yml included services:
- nginx - is an HTTP and reverse proxy server
- laminas - application skeleton
- mysql - db
- phpmyadmin - manager mysql db
- mailhog - mail catcher
The configuration is located at folder docker/ .
Build and start the image and container using:
At this point, you can visit http://localhost to see the site running.
You can also run commands such as composer
in the container. The container
environment is named "laminas" so you will pass that value to
docker-compose run
:
Some composer packages may need additional PHP extensions. The Dockerfile
contains several examples of commented out commands that add some of the
more popular php extensions. For example, to install intl
support
uncomment the lines
then re-run the docker-compose up -d --build
line as above.
Web server setup
Apache setup
To setup apache, setup a virtual host to point to the public/ directory of the project and you should be ready to go! It should look something like below:
Nginx setup
To setup nginx, open your /path/to/nginx/nginx.conf
and add an
include directive below
into http
block if it does not already exist:
Create a virtual host configuration file for your project under /path/to/nginx/sites-enabled/laminasapp.localhost.conf
it should look something like below:
Restart the nginx, now you should be ready to go!
QA Tools
The skeleton does not come with any QA tooling by default, but does ship with configuration for each of:
Additionally, it comes with some basic tests for the shipped
Application\Controller\IndexController
.
If you want to add these QA tools, execute the following:
We provide aliases for each of these tools in the Composer configuration:
All versions of laminas-mvc-starter-kit with dependencies
ext-mbstring Version *
ext-intl Version *
ext-pdo Version *
ext-json Version *
laminas/laminas-component-installer Version ^1.0 || ^2.1
laminas/laminas-development-mode Version ^3.2
laminas/laminas-mvc Version ^3.1.1
laminas/laminas-cache Version ^2.9.0
laminas/laminas-db Version ^2.10.0
laminas/laminas-mvc-form Version ^1.0
laminas/laminas-json Version ^3.1.2
laminas/laminas-log Version ^2.11
laminas/laminas-mvc-plugins Version ^1.0.1
laminas/laminas-session Version ^2.9.1
symfony/console Version ^5.1
robmorgan/phinx Version ^0.12.3
symfony/yaml Version ^5.1
vlucas/phpdotenv Version ^5.1
tekill/env-diff Version dev-add-new-version-symfony-console
laminas/laminas-authentication Version ^2.7
laminas/laminas-permissions-acl Version ^2.7