StarWookie -Baza Wiedzy

1. Pierwsze uruchomienie

  1. Utwórz nowy folder na dysku (Proponuje nazwać go projekt, nie trzeba potem zmieniać ścieżek w komendach które podałem)
  2. Przejdź do niego i pobierz repo: * git clone git@bitbucket.org:jakkow/php_projekt.git *
  3. Z folderu z repozytorium **z ćwiczeń** skopiuj do utworzonego przez ciebie folderu katalog .env oraz plik php.env
  4. w konsoli wpisz source php.env
  5. Wybierz opcje run ide, powinien uruchomić się phpstorm, wybierz folder php_projekt do którego zapisało się repo
  6. #### Dostęp do bazy danych z poziomu phpstorm
  7. Z prawej strony ekranu wybieramy zakładkę database
  8. Dodajemy nowe połączenie (data source) z listy wybieramy mysql
  9. Uzupełniamy dane host=127.0.0.1 databse=test user=root password=root123

2. Aktualizowanie repo

  1. Pociągnij repo z bitbucketa
  2. W folderze z repo skopiuj plik .env.example do pliku .env w tym samym folderze
  3. W konsoli wpisz polecenie *composer install*
  4. Tworzymy nowy klucz poleceniem *php artisan key:generate*
  5. Uruchamiamy migracje poleceniem php artisan migrate
  6. Any zainstalowac dodatkowe dependencje *yarn install*

3. Uruchamianie projektu (jeśli serwer mysql nie działa)

  1. Uruchamiamy serwer z bazą danych sudo docker run --name=mysql --net=host --rm --env MYSQL_ROOT_PASSWORD=root123 --env MYSQL_ROOT_HOST=% --env MYSQL_DATABASE=test --env MYSQL_USER=test --env MYSQL_PASSWORD=test123 -d mysql/mysql-server:8.0
  2. Uruchamiamy serwer ze stroną php artisan serve --port 8888
  3. Uruchamiamy migracje poleceniem php artisan migrate
  4. Wczytujemy pokemony poleceniem php artisan db:seed (Trwa to jakieś 10 sekund)
  5. Podczas pracy z frontem warto odpalić *yarn watch* włączy to watchera, który przy każdej zmianie pliku zupdateuje *tailwindcss*

4. Commitowanie swoich zmian

5. Przydatne komendy Artisiana

Tworzenie nowego pliku z testami:

php vendor/bin/codecept generate:cept acceptance Example

Tworzenie dumpa bazy danych:

mysqldump -h127.0.0.1 -u root --password=root123 test > tests_codeception/_data/dump.sql

Uruchamianie serwera

php artisan serve --port 8888

Uruchamianie migracji

php artisan migrate

Odświeżanie migracji

php artisan migrate:refresh

Tworzenie nowego modelu

php artisan make:model NAZWA_MODELU --all

Tworzenie nowej migracji (Tabeli w bazie danych)

php artisan make:migration create_NAZWA_TABELI_table (proszę zwrócić uwagę na format np. create_post_comments_table)

Tworzenie nowego kontrolera

php artisan make:controller NAZWA_KONTROLERA

Tworzenie nowej reguły walidatora

php artisan make:rule NAZWA

6. Informacje Dodatkowe

Wypełnianie bazy danych poprzez seeder

Rekordy wpisujemy w metodzie run() seedera danego modelu. Seedery znajdują się w atabase/seeders/ Należy pamiętać aby poza wpisaniem rekordów w seederze danego modelu dodać połączenie do nowego seedera w database/seeders/DatabaseSeeder.php

Nadpisywanie domyślnej tabeli sql używanej przez model

Domyślnie model korzysta ze struktury zdefiniowanej przez tabele nazywającą się tak jak model w liczbie mnogiej (np. model Book będzie szukał tabeli books). Aby zmienić to zachowanie należy w pliku z modelem użyć następującej linii protected $table = 'nazwa_tabeli';

7. Linki do dokumentacji