Php
/
Modern Php
- 1 Basics 5
-
Quotes S
-
Constants S
-
Control structures S
-
Reference S
-
Number systems S
- 2 Variables 4
-
Definition S
-
Variable variable S
-
Exists S
-
Type casting S
- 3 Operators 5
-
Aritmetic S
-
Bitwise S
-
String S
-
Comparison S
-
Logical S
- 4 Function 4
-
Definition S
-
Anonymous S
-
Reference S
-
Variable arguments S
- 5 Array 7
-
Basics S
-
Operations S
-
Create S
-
Search S
-
Modify S
-
Sort S
-
Storage S
- 6 String 9
-
Basics
-
Compare
-
Search
-
Replace
-
Format
-
Regexp
-
Parse
-
Formating
-
Json
- 7 Streams 6
-
File open
-
Read file
-
Read csv
-
File contents
-
Context
-
Ob_start
- 8 Oop 6
-
Object instantiation S
-
Class constructor
-
Interfaces, abstract
-
Resource visibility
-
Class constants
-
Namespaces
- 9 Features 9
-
Autoload
-
Class reflection
-
Magic methods
-
Exceptions S
-
Late static binding
-
Type hinting
-
SPL
-
PHPUNIT
-
PHAR
- 10 Versions 2
-
Php7.4 S
-
Php8.0 S
- 11 Http 4
-
Headers
-
File Uploads
-
Cookies
-
Sessions
- 12 Design Patterns 4
-
Singleton Pattern S
-
Observer Pattern
-
Strategy Pattern
-
Registry
- 13 Modern Php 8
-
Composer S
-
Slim Framework
-
Autoloader
-
Package
-
Releases
-
Generators
-
Dependency Injection
-
Middleware
- 14 Create Framework 7
-
App
-
Http Foundation
-
Front Controller
-
Routing
-
Render Controller
-
Resolver
-
SoC
- 15 Frameworks 4
-
Symfony v5
-
Laravel v8
-
Laminas v3
-
Codeigniter v4
- 16 Composer 5
-
Guzzle
-
Carbon
-
Faker
-
Math
-
Requests
- 17 Symfony 6
-
Routes S
-
Annotations
-
Flex
-
Controllers
-
Doctrine
-
Templating
R
Q
Github
Generate a new release on github Composer init generates composer.json file
New release:
Tag version: <span class='keyword_code'>v1.2</span>
Target: releases (branch)
cd dss-client/
composer init
{
"name": "catalin/<span class='keyword_code'>dss-client</span>",
"require": {}
}
Repositories and package
By default Composer only uses the packagist repository. By specifying repositories you can get packages from elsewhere. Repositories are not resolved recursively. You can only add them to your main composer.json. Repository declarations of dependencies' composer.jsons are ignored.composer json
Add private git repository and release version (+ autoload) Move index.php example to root
{
"name": "catalin/dss-client",
"require": {
"minte9/httpclient": "1.0"
},
"repositories": [
{
"type": "package",
"package": {
"name": "minte9/httpclient",
"version": <span class='keyword_code'>"1.8",</span>
"source": {
"type": "git",
"url": "https://<span class='keyword_code'>myusername</span>@github.com/myusername/http-client.git",
"reference": <span class='keyword_code'>"v1.8"</span>
}
}
}
],
"autoload": {
"<span class='keyword_code'>psr-4</span>": {
"minte9\httpclient\": "vendor/minte9/httpclient/src/"
}
}
}
composer require minte9/httpclient
vendor/
composer/
minte9/
src/
inc/
index.example.php
composer.example.json
autoload/
mv example.php /dss-client/index.php
Composer version caret
<span class='keyword_code'>~1.2</span> is equivalent to >=1.2 <2.0.0, while ~1.2.3 is equivalent to >=1.2.3 <1.3.0
<span class='keyword_code'>^1.2.3</span> is equivalent to >=1.2.3 <2.0.0
➥ Questions