Installation

Instalacja

Wymagania

  • PHP >= 7.0
  • Rewrite Module (nginix/apache2)
  • Composer

Pobieranie

Z poziomu konsoli bash wykonaj polecenie composera*

$ composer create-project dframe/dframe-demo appName

albo

php composer.phar create-project dframe/dframe-demo appName

Composer to narzędzie pozwalające na bardzo łatwe zarządzanie zależnościami między bibliotekami w projekcie. (Możesz go pobrać z tutaj) Jak kiedyś pobierało się paczki z skryptem ktory był nam potrzebny to composer robi to za nas i jednym poleceniem można je aktualizować.

Zainicjuje to pobieranie najnoszego kodu dostępnego na Github.com.

Albo wejdz do repozytorium i pobierz kod w Dframe-demo.zip. Możesz też ręcznie pobrać projekt w .zip z github'a i odpalić w konsoli bash poniższe polecenie

$ composer install

Po tej operacji będziesz miał gotowy szkielet twojej aplikacji

Uprawnienia

Nie wszystkie foldery istnieją na starcie, ale takowe mogą się znaleźć. Wszystkie pliki i foldery z wyjątkiem podanych poniżej powinny posiadać chmod 755 na foldery i chmod 664 na pliki. Nie dotyczy się to podanych poniżej które powinny posiadać updawnienia grupy www-data

chmod 777 -R app/View/cache
chmod 777 -R app/View/templates_c
chmod 777 -R app/View/uploads

Jak zmienić uprawnienia do folderu i wszystkich jego podfolderów i plików w systemie Linux?

Aby zmienić wszystkie katalogi na 755 (drwxr-xr-x):

$ find /opt/lampp/htdocs -type d -exec chmod 755 {} \;

Aby zmienić wszystkie pliki na 644 (-rw-r--r--):

$ find /opt/lampp/htdocs -type f -exec chmod 644 {} \;

Serwer HTTP

Po instalacji należy skonfigurować serwer aplikacji tak by wskazywał na katalog /web. Upewnij się, że załadowałeś mod_rewrite

RewriteEngine On

#Deny access for hidden folders and files
RewriteRule (^|/)\.([^/]+)(/|$) - [L,F]
RewriteRule (^|/)([^/]+)~(/|$) - [L,F]

#Set root folder to web directory
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ web/$1

#Redirect all queries to index file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ web/index.php [QSA,L]
#Set root folder to web directory
location / {
    root   /home/[project_path]/htdocs/web;
    index  index.html index.php index.htm;
    if (!-e $request_filename) {
        rewrite ^/(.*)$ /index.php?q=$1 last;
    }
}

#Redirect all queries to index file
location ~ .php$ {
    try_files $uri = 404;
    fastcgi_pass 127.0.0.1:9000;
    #fastcgi_pass unix:/run/php/php7.1-fpm.sock;
    fastcgi_index web/index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

Konfiguracja

Po instalacji w pliku web/config.php znajdziemy zmienne stałe które sa widoczne w całym projekcie. Należy je ustawić po instalacji.

<?php

// Application name
define('APP_NAME', "App name");  

// Check PSR-2: Coding Style
define('CODING_STYLE', true);    

// Website configuration
define('VERSION', "Dframe");     // Version aplication
define('SALT', "YOURSALT123");   // SALT default: YOURSALT123

// Website adress
define('HTTP_HOST', 'website.url');


Edit page (Installation/overview)