CodeigniterEen solide basis

Codeigniter 4 appstarter

Na een flink aantal jaren is het zover.

 

Codeigniter heeft een versie 4.

Nog wel Release Candidate, maar geeft alwel voldoende houvast om er mee te gaan werken.

 

Deze versie is gebouwd op de laatste PHP mogelijkheden en is volledig namespace gestuurd.

Hij gebruikt een simpele MVC architectuur en een volwassen classes systeem.

 

Tevens is er een strikte scheiding tussen de applicatie en publiek toegankelijke bronnen zoals Javascript, CSS en afbeeldingen.

Voor een uitgebreide uitleg zie bijvoorbeeld Getting_started_with_Codeigniter4-2017.pdf (Met dank aan Raymond King en Lonnie Ezell)

 

 

Documentatie

 

En gelukkig hebben ze de documentatie niet vergeten.

Deze is zeer goed verzorgd.

De meest recente kun je lezen op https://www.vanwijheweb.nl/codeigniter_user_guides/gebruikers_gids_4.X/index.html

 

Een nadeel kan zijn dat versie 4 volledig heeft gebroken met versie 3.

Je zult weer moeten gaan schrijven.

 

 

Achtergronden

 

Zoals net gezegd Codeigniter 4 is inmiddels in het Release Candidate stadium.

Dit houdt in dat de grote lijnen vastliggen maar er nog wel bijgeschaafd kan worden.

 

Codeigniter 4 heeft de minimale vereiste van PHP 7.2 om de applicatie te kunnen draaien.

De extensie intl dient aanwezig te zijn.

 

 phpinfo.php  kan je deze informatie geven

phpinfo();

 

Het handigst is om via de command-line / bash te applicatie te installeren.

 

Tevens wordt er van composer gebruikt gemaakt.

Zie hiervoor

https://getcomposer.org/

 

 

Basis installatie

 

Ga naar root van de website.

In mijn geval:

 

cd /var/www/html/

 

Typ de de volgende regel in:

 

composer create-project codeigniter4/appstarter appstarter_Ci4 -s rc --no-dev

 

Deze maakt de directory appstarter_Ci4 aan.

 

/var/www/html/appstarter_Ci4

 

De extra toevoeging  -s rc  heeft composer nu nog nodig omdat de pakketten nog in Release Candidate stadium zijn.

De toevoeging  --no-dev  zorgt ervoor dat de developers pakketten niet geinstalleerd worden.

Hierdoor wordt het framework lichter en daardoor sneller.

 

Je krijgt het volgende te zien.

 

gebruiker@testServer:~$ cd /var/www/html/

gebruiker@testServer:/var/www/html$ composer create-project codeigniter4/appstarter appstarter_Ci4 -s rc --no-dev

Installing codeigniter4/appstarter (v4.0.0-rc.3)
  - Installing codeigniter4/appstarter (v4.0.0-rc.3): Downloading (100%)
Created project in appstarter_Ci4
Loading composer repositories with package information
Updating dependencies
Package operations: 4 installs, 0 updates, 0 removals
  - Installing zendframework/zend-escaper (2.6.1): Loading from cache
  - Installing psr/log (1.1.2): Loading from cache
  - Installing kint-php/kint (2.2): Loading from cache
  - Installing codeigniter4/framework (v4.0.0-rc.3): Loading from cache
Package zendframework/zend-escaper is abandoned, you should avoid using it. Use laminas/laminas-escaper instead.
Writing lock file
Generating autoload files
Generated autoload files containing 77 classes

 

 

Eerste overzicht

 

Je hebt de volgende directory structuur: (1)

 

[app]
[public]
[tests]
[vendor]
[writable]
.gitignore
composer.json
composer.lock
contributing.md
env
LICENSE
license.txt
phpunit.xml.dist
README.md
spark

 

In een browser ziet het er als volgt uit.

 

 

 

Basis inrichting

 

De applicatie heeft nog één stap minimaal nodig.

Geef de gehele directory

[writable]

schrijfrechten (0777) op map niveau en alle daarondergelegen mappen.

 

De bestaande bestanden dienen de rechten 644 te behouden.

Doe je dit niet zal Codeigniter een foutmelding geven bij het opstarten via een browser.

 

 

het gaat om de volgende mappen.

 

 

En de mappen onder    [writable] 

 

 

 

Verdieping overzicht

 

Ga nu met je bestanden-browser (v.b. verkenner) naar de directory

[appstarter_Ci4]

Je ziet nu de bovenstaande directory structuur. Zie (1)

 

De directory

[app]

gebruik je voornamenlijk om de controllers, models en views te plaatsen.

 

In de directory

[public]

zet je alle vanuit het Internet toegankelijke bestanden neer.

  • afbeeldingen
  • css bestanden
  • javascript bestanden

 

De directory

[app]

ziet er als volgt uit

 

[Config]
[Controllers]
[Database]
[Filters]
[Helpers]
[Language]
[Libraries]
[Models]
[ThirdParty]
[Views]
.htaccess
Common.php
index.html

 

De directories waar je het meest mee komt te werken zijn:

 

In de directory

[Config]

plaats je de configuratie bestanden

 

In de directory

[Controllers]

plaats je de controller bestanden

 

In de directory

[Models]

plaats je de model bestanden

 

In de directory

[Views]

plaats je de view bestanden

 

 

Applicatie live

 

Klik nu via een browser op de directory    [public] 

 

Als het goed is, zie je het welkom scherm van Codeigniter 4.

 

 

 

Applicatie update

 

En als je nu de installatie wilt updaten type je in de root van de applicatie de volgende regel:

 

composer update --no-dev

 

 

Verder inrichten

 

Het verdere inrichten kan nu beginnen.

Tevens de inhoud van het volgende artikel.

 

 

Veel programmeer plezier ermee.

 

Ubel Jan van Wijhe

vanWijhe.Web