Starter project template for PHP

Overview

Course Build

php-trainings

PHP Education program

Table of Contents

  1. Pre-requirements
  2. Workflow
  3. Special Notes
  4. See also

Pre-requirements

  1. It's highly recommended to use Ubuntu latest stable edition.
  2. Install php 8.1 following instructions for your OS.
  3. Install and enable at least php-xml extension.
  4. Install Composer tool.
    • If you are using GNU/Linux, run as the last Composer installation step:
    mv composer.phar /usr/local/bin/composer
    chmod a+x /usr/local/bin/composer
  5. Optional steps if you don't yet have public/private keys for your GitHub account:
    • Generate public/private keys for Github. You can use ssh-keygen command with parameters on GNU/Linux (press Enter for any prompt):
    ssh-keygen -t ecdsa -b 521 -C "course_key" -f ~/.ssh/github_php_course
    • Create ~/.ssh/config file with following instructions:
    # GitHub.com
    Host github.com
    UpdateHostKeys no
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/github_php_course
    
    • Copy ssh public key to your GitHub profile.
  6. Identify yourself for GitHub:
git config --global user.name "Your Name"
git config --global user.email "your_email"

Workflow

  1. You will be granted access to the repository with tasks.
  2. Clone the repository to your machine.
  3. Subscribe to the repository to be able to receive any notification on it.
  4. Create separate branch and folder in src/ and tests/ for each task.
  5. When you are ready to show your solution (task and tests), create Pull Request (PR).
  6. If you have errors reported by GitHub Actions, check their details and fix issues.

Special Notes

  1. See Task1 source and test files as example.

  2. Use PSR-12 and PSR-4 for code styling, autoload, etc.

  3. Use English for comments, class, properties, methods, functions, etc.

  4. If you use files without class declaration, add your src file to includes.php file to be able to run tests.

  5. Before creating PR run in your machine following commands

    • composer phpcs to check code style
    • composer phplint to perform static analyze
    • composer phpunit to run tests
  6. Create PR only after all above commands run with green (success) return status.

See also

  1. PHP Documentation
  2. PHP: The Right Way
  3. Laracasts
  4. SymfonyCasts
  5. Laravel Daily
  6. PHP Point
  7. Composer
  8. Git Book
You might also like...
Pug-php adds inline PHP scripting support to the Pug template compiler

Pug-php adds inline PHP scripting support to the Pug template compiler. Since version 3, it uses Phug, a very customizable Pug template engine made by the tale-pug and pug-php developers as the new PHP Pug engine reference.

Plant Watering Sensor Project for Zigbee Network (based on the Source Code of the DIYRUZ Flower Project  - https://github.com/diyruz/flower).
Plant Watering Sensor Project for Zigbee Network (based on the Source Code of the DIYRUZ Flower Project - https://github.com/diyruz/flower).

Plant-Watering-Sensor-Zigbee Plant Watering Sensor Project for Zigbee Network (based on the Source Code of the DIYRUZ Flower Project

In order to use the Korean Language on your Magento 2 store, it is time to start with Magento 2 Korean Language Pack in the set of informative documentations by Mageplaza. Magento 2 Korean Language Package is published by Magento 2 Translation Project at Crowdin, so all phrases will be replaced by the Korean language according to the contribution to that project. Please following up the guides in this post to convert the language with ease! Magento 2 Italian Language Pack is special gift for Magento 2 Community Edition. The data of the translation is supplied by Magento 2 Translation Project of Crowdin site, on which you will contribute into the project and download the zip file to install on your own store. This knowledge base will include full of the clear guides that supports you to convert the default language (English) into Italian language on your entire store.
Easy management of Virtualization technologies including KVM, Xen, OpenVZ, Virtuozzo, and LXC/LXD including unified commands, monitoring, template management, and many more features.

ProVirted About Easy management of Virtualization technologies including KVM, Xen, OpenVZ, Virtuozzo, and LXC/LXD including unified commands, monitori

Phalcon cli template

Phalcon cli template This is just sample boostraping application for command line applications using the outstanding Phalcon Framework. Installation J

HTML5 Twitter Bootstrap 3.1 Magento Boilerplate Template

Magento Boilerplate A HTML5 Twitter Bootstrap 3.1 Magento 1.8 Boilerplate Template Read the blog post or checkout the demo for more information. Insta

PHPStorm Live template preferences for Magento 2 Projects
PHPStorm Live template preferences for Magento 2 Projects

Magento 2 PHPStorm Preferences This project is intended to setup useful PHPStorm Templates for Magento 2 Projects. Disclaimer This project overrides t

Owner
EduCat
Education Platform
EduCat
PaaS template based on production template using platform.sh

Shopware for Platform.sh This template builds Shopware on Platform.sh using Composer. To get started on Platform.sh, please visit https://docs.platfor

Shopware 9 Oct 12, 2022
PDF API. JSON to PDF. PDF Template Management, Visual HTML Template Editor and API to render PDFS by json data

PDF Template Management, Visual HTML Template Editor and API to render PDFS by json data PDF ENGINE VERSION: development: This is a prerelease version

Ajous Solutions 2 Dec 30, 2022
Roach-example-project - Example project to demonstrate how to use RoachPHP in a Laravel project.

Example repository to illustrate how to use roach-php/laravel in a Laravel app. Check app/Spiders/FussballdatenSpider.php for an example spider that c

Kai Sassnowski 11 Dec 15, 2022
Laravel 9 Template - Just a empty Laravel 9 project, ready to start new crap.

Laravel 9 Template Just a empty Laravel 9 project, ready to start new crap. Clone and start using. Usage - Local Env The same as usual with laravel. C

Gonzalo Martinez 1 Oct 31, 2022
This project processes a small database with php all on a web server. This project uses XAMPP to run the web server and the database.

PHP-introduction This project processes a small database with php all on a web server. This project uses XAMPP to run the web server and the database.

Tyler Jacques 1 Jan 6, 2022
This car rental project system project in PHP focuses mainly on dealing with customers regarding their car rental hours and certain transactions.

Car-Rental Online Car Rental Management System This car rental project system project in PHP focuses mainly on dealing with customers regarding their

Adarsh Kumar Singh 2 Sep 29, 2022
WordPress plugin starter/boilerplate.

Howdy WordPress plugin starter. Based on "Service Provider" design pattern. Environment setup composer install npm install Plugin Backend Architecture

CodesVault 18 Jan 3, 2023
this starter kite inspired by laravel & Geo and mvc pattern. it's wrap for Wordpress built in classes.

WordpressStarterKite Introduction Built With Prerequisite Directory Structure Guidelines Getting Started Authors Introduction this starter kite inspir

Omar Hossam Eldin Kandil 7 Aug 24, 2022
Profesjonalny starter pack dla MCBE 😎

MCBE Starter pack Profesjonalny starter pack dla serwerów MCBE ?? . Repozytorium Repozytorium zawiera wszystkie pliki z okresu MCBE, które udało mi si

Adrian Polak 6 Dec 25, 2022
Starter kit for content-based static site using Stenope

Stenope Skeleton This skeleton is an opinionated starter kit for creating your static website with Stenope. It contains a few features to get you star

Stenope 2 Sep 28, 2022