Laravel #5

LARAVEL #5 3.12.2020 – 4.12.2020, kolmapäev – neljapäev. Sisestatud 10. detsember 2020
Модели и добавление данных в БД
1. Модели существуют для комфортной работы с таблицами БД
2. Чтобы работать с БД, надо ее создать
3. Создаем БД
4. Открываем программу, которая является локальным сервером
5. В первом уроке мы говорили, что создаем проект в папке htdocs
6. Запускаем локальный сервер
7. Автоматически открывается страничка в браузере localhost
8. Здесь откроем PMA, где и создадим БД
9. В MAMP нажимаем Open Webstart page
10. И здесь есть ссылка на PMA
11. PMA – это графический интерфейс для работы с БД
12. Заходим в PMA, меняем язык на русский
13. Создаем БД
14. Нажимаем “Создать БД”
15. Называем БД как угодно. Например, laravel_blog
16. Выбираем кодировку utf8_general_ci
17. Нажимаем “создать”
18. MAMP нельзя закрывать, а то потеряем доступ к PMA
19. Должны быть запущены MAMP, laravel сервер и nodejs – Для работы сайта
20. Если все запущено, если БД создана, то теперь нам необходимо подключиться к БД нашего
проекта
21. Переходим в файл .env
22. Находим DB_CONNECTION = mysql
23. DB_HOST = localhost
24. Копируем порт DB_PORT = 8889
25. Также меняем название DB_DATABASE = laravel_blog
26. Login пользователя и пароль пользователя,
DB_USERNAME = root
DB_PASSWORD = root
27. Подключение к БД выполнено
28. Теперь надо заполнить БД табличками и различными значениями
29. Чтобы заполнить БД значениями и таблицами, нам нужно создать модели
30. Идем в терминал, переходим в каталог itproger
31. Пишем php artisan make:model Contact -m
Благодаря -m мы создаем не только модель, но и файл миграции
32. Файл миграции – это файл, который описывает одну таблицу БД
33. Создается модель и файл миграции
34. APP\Models\contact.php – создает папку Models\contact
35. Поменять namespace в файле ContactController.php
use app\Models\contact
36. Это файл, с помощью которого мы создадим таблицу contacs в БД
37. Посмотрим файл миграции
37.1 Подключение класса, наследование от Migration. create_contact_table.php
38. Здесь есть две функции: up и down
39. Функция up() запускается, когда мы запускаем миграцию
40. Здесь пишут создание новой таблицы, добавление новых полей и тд
41. Когда запускаем миграцию, будет создана новая таблица, будут добавлены значения
42. Функция down() вызывается, чтобы отменить определенное действие
43. Например, создаем таблицу contacts, а потом передумаем. Вызываем миграцию с определенным
условием, которая вызывает функцию down(), если она существует
44. Функция up вызывается, когда мы запускаем миграцию, а функцию down сами вызываем
45. В функции down() пишем, что мы удаляем одно из полей
46. Или что удаляем всю таблицу
47. Функция up создаст пока что таблицу с двумя полями
48. В любой таблице должно быть поле id. Оно добавляет уникальность к каждой записи
49. Добавить еще 4 поля
50. $table->string(‘поле’). Автоматически будет добавлен namespace
51. email, subject (255 символов)
52. Различные типы представлены в документации
53. Boolean – true или false
54. Теперь надо провести миграцию
55. Заходим в PHPMyAdmin
56. Заходим в БД laravel_blog
57. Создается дополнительная таблица migrations
58. $table->timestamps создает новые поля created_at и updated_at. В эти поля помещается
дата создания записи и дата обновления.
59. Чтоб сделать откат от предыдущих настроек, php artisan migrate:rollback
60. Rollback вызывает функцию down(), то есть вернем одно предыдущее действие назад
61. Если хотим вернуть 3 действия назад, то указываем php artisan migrate:rollback –step=3,
то есть 3 предыдущих миграции будут отменены
62. Чтоб отменить все миграции, надо написать php artisan migrate:reset
63. Таблица migration всегда присутствует и никогда не удаляется
64. clear очищает терминал
65. Пишем php artisan migrate
66. Создаются таблицы с полями
67. Реализуем добавление значений в БД
68. Переходим в APP/http/Controllers/ContactController.php
69. Указываем, что мы используем модель contact
70. Сохранить данные, получить данные. Это заложено в модели. Эти функции наследуются от
класса Model. В этой модели ничего менять не надо. Надо только обратиться к ней.
71. В APP/http/Controllers подключаем класс use APP/Models/Contact
72. public function submit(ContactRequest $req)
Создаем объект на основе модели Contact
$contact = new Contact()
$contact->name = $req->input(‘name’)
То же самое делаем для других полей таблицы и для полей формы.
73. Чтобы сохранить данные в таблицу, обращаемся к функции save:
$contact->save();
74. Теперь переадресуемся с contact/submit на главную страницу.
Обращаемся к встроенной функции redirect():
return redirect()->route(‘home’)
75. На странице contacts заполняем значения и нажимаем сохранить
76. Возникает ошибка. Забыли очистить кэш
77. php artisan config:cache очищает
78. Теперь сохранение данных срабатывает корректно
79. Наше сообщение сохранилось в БД и мы переадресовались на главную страницу
80. Идем в PHPMyAdmin, нажимаем browse.
Введенное в форму сохранилось.
81. Вывести пользователю сообщение, что все обработалось корректно, сообщение добавлено в БД
82. Создаем новый blade файл
83. Переходим в Resources/views/inc/
84. Создаем новый файл messages.blade.php
85. В этом файле будем выводить сообщения об ошибках, а также разные сообщения, например,
что вы добавляли в БД
86. Из contact.blade.php отображение всех ошибок переместим в inc/messages
@if($errors->any())
<div>
<ul>
@foreach($errors->all() as $error)
<li>{{$error}}
</ul>
</div>
@endforeach
@endif
87. Дополнительно надо отображать все успешные сообщения
88. Отслеживаем сессию ‘success’
@if(session(‘success’))
<div class=”alert alert-success”>
{{session(‘success’)}}
89. Переходим в resources/views/layouts/app.blade.php
Под inc.hero выводим эти сообщения.
В блоке <div class=”container mt-5″>
пишем @include(’inc.message’)
90. Теперь вызов этой сессии. Переходим в APP/http/Controllers/ContactController.php
91. return redirect()->route(‘home’)->with(‘success’,’Сообщение было добавлено’);
92. Сохраняем, переходим в contacts
93. Сначала проверяем, как работают ошибки, пробуем сохранить с пустыми полями
94. Введем данные и нажимаем отправить
95. Переадресовываемся на главную страницу
96. Заходим в PMA, видим, что сообщение добавилось
97. Здесь также добавляется дата добавления и обновления сообщения

Salme Klimovskaja veebileht
Ülevaade privaatsuspoliitikast

Küpsiste kasutamise- ja privaatsuspoliitika  teavitus

Käesolev küpsiste kasutamise ja privaatsuspoliitika teavitus (edaspidi teavitus) sisaldab kasulikku infot selle kohta, kuidas ja milleks OÜ Lartim isikuandmeid (andmeid) kogub, töötleb ja jagab. Privaatsuspoliitika lähtub andmekaitse üldregulatsioonist (GDPR – General Data Protection Regulation).

Privaatsuspoliitika eesmärk on kaitsta klientide privaatsust kooskõlas Eesti Vabariigi seaduste ning Euroopa Liidu õigusaktidega.

„Isikuandmed“ on mis tahes teave tuvastatud või tuvastatava füüsilise isiku kohta, näiteks nimi, aadress, e-posti aadress ning teave meie kodulehe külastuste, sotsiaalmeedia kanalite ja meie teenuste kasutamise kohta.

Kasutades meie veebilehte, nõustute küpsiste kasutamisega ja isikuandmete töötlemise tingimustega nagu on kirjeldatud meie Küpsiste kasutamise- ja privaatsuspoliitikas.

Kehtiv alates 25.05.2018

1. Kelle andmeid OÜ Lartim töötleb?

OÜ Lartim on isikuandmete vastutav töötleja ning küsimuste korral kirjuta info [ät] ylejoeapteek.ee.

OÜ Lartim töötleb oma klientide ja kontaktisikute andmeid, kes on avaldanud soovi tarbida meie teenuseid või on varasemalt kasutanud meie teenuseid.

Teatud juhtudel töötleme isikuandmeid, mis on kättesaadavad avalikest allikatest.

2. Kliendi isikuandmete (andmete) töötlemise eesmärgid ja õiguslikud alused

OÜ Lartim töötleb isikuandmeid järgmistel eesmärkidel:

    • õigusaktidest tulenevate nõuete täitmine;

    • kliendi päringutele vastamine;

3. Kuidas andmeid kogutakse

Isikuandmeid kogume ainult tagasiside vormilt.

Küpsised ja pikslisildid ning nendest vabanemine

Küpsis (cookie) on väikesemahuline tekstifail, mille veebiserver saadab kasutaja veebilehitsejale ja mis salvestatakse kasutaja arvuti kõvakettale ning mis võimaldab meelde jätta kasutaja eelistused nagu kirjasuurus, suhtluskeel, seadmeinfo, külastusstatistika jms.

Kõik veebisirvijad on vaikimisi seatud küpsiseid lubama, kuid veebisirvija seadeid saab üldjuhul muuta selliselt, et veebilehitseja keeldub küpsistest täielikult, blokeerib kolmandate isikute küpsised või teavitab kasutajat igast saadetud küpsisest.

Pikslisildid on väikesed veebisaidi koodilõigud, mis võimaldavad veebilehtedel küpsiseid lugeda ja paigaldada. Need käivituvad, kui kasutaja avab e-kirja või saabub veebisaidile, misjärel laaditakse alla kolmandate isikute küpsiseid või registreeritakse, et kasutaja on e-kirja avanud.

OÜ Lartim kasutab järgmiseid küpsiseid:

    • Seansiküpsised (ajutised küpsised), mille eesmärk on võimaldada teenuse kasutamist.

Täpsemalt öeldes kasutab OÜ Lartim:

    • kolmandate osapoolte küpsiseid, nt Google Maps. Asukoha kaarti ei näidata, kui pole nõustunud privaatsustingimustega.

Kasutajal on õigus keelduda küpsiste salvestamisest arvutisse. Vastava soovi korral peab kasutaja muutma oma veebilehitseja seadeid.

Juhendid enamkasutavate veebisirvijate seadistamiseks:

Internet Explorerhttp://support.microsoft.com/kb/278835

Crome: https://support.google.com/chrome/answer/95647?hl=en

Firefoxhttp://support.mozilla.org/en-US/kb/Clear%20Recent%20History

Operahttp://www.opera.com/browser/tutorials/security/privacy

Safarihttps://support.apple.com/guide/safari/manage-cookies-and-website-data-sfri11471/mac

Küpsiste blokeerimisel peab kasutaja arvestama, et kõik veebilehe funktsioonid ei pruugi enam kasutajale kättesaadavad olla.

4. OÜ Lartim poolt töödeldavad isikuandmed (sh andmed)

OÜ Lartim võib töödelda järgmisi isikuandmeid (sh andmeid):

http://www.ylejoeapteek.ee/vota-meiega-uhendust/ lehelt saadetud tagasiside vormilt saadud kontaktanded – nimi ja e-posti aadress

OÜ Lartim ei töötle vastutava töötlejana isikuandmete eriliike.

5. Isikuandmete jagamine

OÜ Lartim ei edasta kliendi andmeid väljapoole Euroopa (EU) Majanduspiirkonda.

OÜ Lartim ei jaga kliendi isikuandmeid kolmandatele osapooltele va allpool loetletud tingimustel.
Kõiki andmeid kasutatakse ainult suhtlemiseks ja parema toote või teenuse pakkumise eesmärgil.

Sinu isikuandmeid võime jagada järgmistel juhtudel:

    • Riikliku järelvalve asutused ja Politsei.

    • Avalik tagasiside kliendi nõusolekul.

6. Isikuandmete (andmete) turvalisus, kasutamine ja säilitamine

OÜ Lartim ei saada klientidele informatsiooni oma teenuste, toodete, uudiskirjade ja pakkumiste kohta.

6.1. Isikuandmete turvalisus

Isikuandmete turvaline säilitamine on OÜ Lartim kõrgeim turvalisuse alane prioriteet. Püüame teha kõik võimaliku, et vältida loata juurdepääsu, avaldamist ja muud õigusvastast töötlemist.
Kaitseme isikuandmete konfidentsiaalsust ja puutumatust ning tagame andmetele juurdepääsu kooskõlas kehtivate õigusaktidega.

Oleme meie kogutavate ja töödeldavate isikuandmete kaitseks kehtestanud mõistlikud ja piisavad organisatsioonilised meetmed ning tehnilised ja füüsilised piirangud. Kasutatavad meetmed sõltuvad isikuandmete liigist ja nende avalikukssaamise võimalikest tagajärgedest.

OÜ Lartim on rakendanud vajalikke tehnilisi, füüsilisi ja korralduslikke turvameetmeid kliendi isikuandmete (andmete) kaitsmiseks kadumise ja ebaseadusliku töötlemise eest.

6.2. Säilitamistähtaeg – kui kaua isikuandmeid säilitame?

OÜ Lartim säilitab isikuandmeid üksnes nii kaua, kui see on nende kogumise eesmärgi saavutamiseks vajalik. Säilitamistähtaeg sõltub ka vajadusest vastata andmesubjektide päringutele, lahendada probleeme ning täita seadusejärgseid dokumentide säilitamise nõudeid.

Kui me isikuandmeid enam ei vaja ja õigusaktid nende säilitamist ei nõua, kustutame me need isikuandmed.

Võime jätkata kõnesolevate andmete kasutamist statistilistel eesmärkidel, kuid üksnes pseudonümiseeritud või anonümiseeritud kujul.

Kui tekib kasvõi väiksemgi küsimus, siis palun kirjuta info [ät] ylejoeapteek.ee.

7. Kliendi  (andmesubjekti) õigused

Kliendil on õigus pääseda ligi OÜ Lartim poolt töödeldavatele Kliendi enda isikuandmetele ja õigus nõuda ebatäpsete isikuandmete parandamist.

Kui Kliendil on küsimusi oma õiguste kohta või on ta arvamusel, et OÜ Lartim on tema isikuandmete (andmete) töötlemisel rikkunud tema õigusi, peaks ta kindlasti ühendust võtma e-posti aadressil info [ät] ylejoeapteek.ee.

Andmesubjekti õigused

Parandamisõigus – on andmesubjekti õigus nõuda, et temaga seotud ebaõiged isikuandmed põhjendamatu viivituseta parandataks.

Kustutamisõigus – on andmesubjekti õigus nõuda, et tema isikuandmed põhjendamatu viivituseta kustutataks, kui on täidetud teatud lisatingimused.

Teatud juhtudel on andmesubjektil õigus piirata enda isikuandmete töötlemist.

Andmesubjektil on õigus tutvuda isikuandmetega, mida me tema kohta säilitame ja mida ta on meile andnud ning õigus edastada need andmed teisele vastutavale töötlejale, kui see on tehniliselt võimalik ning töötlemine toimub nõusoleku või lepingu alusel ja automatiseeritult.

Andmesubjektil on õigus oma konkreetsest olukorrast lähtudes esitada igal ajal vastuväiteid enda isikuandmete töötlemise suhtes, mis toimub õigusaktide vastavate sätete alusel, sealhulgas nende sätete alusel toimuva profiilianalüüsi suhtes.

Kui õigusaktidest ei tulene teisiti, on andmesubjektil õigus, et tema kohta ei tehtaks otsust, mis põhineb üksnes automatiseeritud töötlusel, sealhulgas profiilianalüüsil, ning loob andmesubjektile õiguslikke tagajärgi või avaldab talle märkimisväärset mõju.

Kui isikuandmete töötlemise aluseks on andmesubjekti nõusolek, on andmesubjektil õigus see nõusolek igal ajal tagasi võtta, ilma et see mõjutaks enne tagasivõtmist nõusoleku alusel toimunud töötlemise seaduslikkust.

Kui soovite kasutada nimetatud õigusi, palume võtta meiega ühendust.

Kui OÜ Lartim pakutud lahendus ei rahulda teid, siis on teil õigus pöörduda Eesti Vabariigi Andmekaitse Inspektsiooni ja kohtu poole.

8. Muud sätted

OÜ Lartim võtab õiguse Küpsiste kasutamist ja privaatsuspoliitikat ühepoolselt muuta. Küpsiste kasutamise ja privaatsuspoliitika uusim versioon on alati saadaval käesoleval veebilehel.

Käesolevale Küpsiste kasutamisele ja privaatsuspoliitikale kohalduvad Eesti Vabariigi seadused. Poliitikast tulenevad vaidlused või nõuded lahendatakse Pärnus Pärnu Maakohtus.