Repozitorij materijala s vježbi kolegija "Programiranje za internet" FPMOZ
Desnim klikom na laragon sučelje odabrati kreiranje nove Laravel aplikacije
ili
Koristeći composer putem terminala
composer create-project --prefer-dist laravel/laravel pzi_projekt
Koristeći laragon heidi alat, kreirati novu bazu podataka.
Ukoliko ste projekt izradili preko laragon sučelja, baza se automatski kreira.
Unutar .env datoteke postaviti okruženje i podatke za pristup bazi podataka
DB_DATABASE=pzi_projekt // Ime vase baze
DB_USERNAME=root
DB_PASSWORD=
npm install
npm run dev // Dev za debug nacin rada
ili
npm run watch // automatski osvjezava promjene css/js
Aplikacija je lokalno dostupna na pzi_projekt.test*
php artisan migrate
DROP cijele baze i ponovno pokretanje migracija! Oprez!
php artisan migrate:fresh
php artisan make:model Car -mcr --api
File database/migrations/timestamp_create_model_table.php
Ponovno pokrenuti migraciju kako bi se odrazile promjene php artisan migrate
Kako bi se polja mogla upisivati kroz Eloquent ORM metode, potrebno je omoguciti da polja u bazi budu tzv. mass assignable.
To postižemo override-om $fillable svojstva unutar našeg modela npr.
app/models/Car.php
protected $fillable = ['manufacturer', 'year', 'model_name', 'color'];
Ulaskom u tinker otvara se php shell sa laravel okruzenjem. Služi za testiranje pojedinih naredbenih linija koda.
php artisan tinker
CREATE
Car::create(['manufacturer'=>'Audi', 'model_name'=>'A6', 'year'=>2020])
READ
Svi modeli (array)
Car::all()
Jedan model po ID (objekt)
Car::find(1)
UPDATE
$car = Car::find(1);
$car->model_name = 'A4';
$car->save();
DELETE
$car = Car::find(1);
$car->delete();
Host: studenti.sum.ba
Korisničko ime: pziXXYYYY
Lozinka: csdigitalYYYY
XX broj grupe (01, 02, 03...)
YYYY akademska godina
git clone https://github.com/RobertRozic/PZI.git
ln -s /home/pziXXYYYY/ime-projekta/frontend/dist /home/pziXXYYYY/public
- Ukoliko naredba javi da file vec postoji, odradite:
rm -rf ~/public
Napomena: Folder koji linkate je folder u kojem se nalazi vaš index.html/index.php
Najčešće index.php stavljate u sami root (početni direktorij projekta) Moguće je napraviti poseban direktorij npr. public u kojem se nalazi ono što će biti javno dostupno.
Ukoliko frontend radite u nekom od javascript frameworka poput Vue.js ili Angular.js potrebno je buildati aplikaciju određenom naredbom (npm run build ili ng build).
Nakon izvršene naredbe, u direktoriju vašeg projekta će se pojaviti dist folder. On se inače ne postavlja na github, nego se dobije buildanjem projekta direktno na serveru. Zbog jednostavnosti ćemo ovaj direktorij postaviti na github i na njega postaviti simbolički link s public foldera na studentskom poslužitelju. Po početnim postavkama vue.js i angular.js taj direktorij postavljaju u .gitignore file. Sve što se nalazi zapisano u .gitignore file-u, git ignorira i ne postavlja na github repozitorij. Kako bi ipak postavili dist na github, potreno je izbrisati red u kojima je zapisan dist direktorij.
http://pziXXYYY.studenti.sum.ba/
Na studentskom poslužitelju svaka grupa ima MySql bazu.
Pristupni podaci su (.env laravel konfiguracija):
DB_HOST=localhost (localhost na samom poslužitelju)
DB_DATABASE=pziXXYYYY
DB_USERNAME=pziXXYYYY
DB_PASSWORD=csdigitalYYYY
Bazi podataka možete pristupiti putem phpmyadmin-a instaliranog na poslužitelju.
Putem PhpMyAdmina možete raditi import podataka koje imate na lokalnoj bazi.
Nakon pristupa folderu u kojem se nalazi vaš projekt, koristite naredbu
git pull
Ova naredba povlači sve promjene koje ste postavili na javni github repozitorij
Ukoliko imate problema s postavljanjem, javite se na email [email protected]
Prilikom postavljanja laravel aplikacije na studentski poslužitelj potrebno je:
git clone https://github.com/RobertRozic/PZI.git
3. Napraviti simbolički link sa public direktorij-a u laravel projektu na backend folder na posluzitelj
ln -s /home/pziXXYYYY/ime-projekta/backend/public/ /home/pziXXYYYY/backend
cd ~/ime-projekta/backend
composer install
Primjer kopiramo u .env file
cp .env.example .env
Podesimo bazu
DB_DATABASE=pziXXYYYY
DB_USERNAME=pziXXYYYY
DB_PASSWORD=csdigitalYYYY
Generiramo key aplikacije
php artisan key:generate
chgrp -R www-data storage bootstrap/cache
chmod -R ug+rwx storage bootstrap/cache
http://pziXXYYY.studenti.sum.ba/backend
- pwd - Ispis putanje trenutnog foldera u kojemu se nalazimo (print work directory)
pwd
/home/pzi002024
- cd - Promjena direktorija (change directory)
cd public
Vraćanje u prethodni direktorij
cd ..
- mkdir - Kreiranje direktorija (make directory)
mkdir test
- touch - Kreiranje datoteke
touch test.txt
- nano - Ugrađeni tekstualni editor
nano test.txt
Za izlazak iz editora koristi se CTRL+X, zatim editor pita za spremanje datoteke.
Pritisnite y (za da) ili n (za ne).
- ln -s - Kreiranje simboličkog linka
ln -s izvor odrediste
Brisanje datoteke/direktorija
rm -rf public