Codeigniter – Seeder

Imamo bazu podataka a projekt nam je u razvoju. Baza je naravno prazna jer nemamo stvarnih korisnika. Seeder nam tu služi kao mehanizam s kojim...
Imamo bazu podataka a projekt nam je u razvoju. Baza je naravno prazna jer nemamo stvarnih korisnika. Seeder nam tu služi kao mehanizam s kojim možemo popuniti bazu podataka sa "lažnim" podacima. Na ovaj način simuliramo realno korištenje projekta. Prije svega, kako pripremiti projekt? Vidi ovdje. Faker Faker je lib koji dolazi sa Codeigniter-om. Njegova svrha je da stvara lažne podatke (fake data). Za testiranje, idemo na http://localhost:8080/ i koristimo "Home" kontroler u "app/Controllers/Home.php" sa ovim preinakama: <?php namespace App\Controllers; use Faker\Factory; class Home extends BaseController { public function index() { $faker = Factory::create(); return $faker->name(); } } Kao što...

Codeigniter – migracija

"Migration" ili migracija je naziv za proces u kojem preko CLI naredbe učitavamo datoteku migracije i po učitanim postavkama, stvaramo tablice/stupce u bazi podataka. Radi...
"Migration" ili migracija je naziv za proces u kojem preko CLI naredbe učitavamo datoteku migracije i po učitanim postavkama, stvaramo tablice/stupce u bazi podataka. Radi se o tome da kada prebacimo projekt na drugo računalo, možemo stvoriti cijeli kostur baze podataka sa CLI naredbom. Pripremimo projekt Da sad tu ne pišem iznova o tome kako pripremiti projekt, sve imate ovdje. Da bi napravili datoteku migracije: php spark make:migration main S ovime dobivamo datoteku: ./app/Database/Migrations/2022-08-07-084359_Main.php Sa sadržajem: <?php namespace App\Database\Migrations; use CodeIgniter\Database\Migration; class Main extends Migration { public function up() { // } public function down() { // } } S...

Redux Toolkit – uvod

Globalni ili "application state" je tema kojom se bavimo danas. U principu stvar funkcionira slično kao built-in React "useContext" hook. Cijeli projekt se nalazi ovdje:...
Globalni ili "application state" je tema kojom se bavimo danas. U principu stvar funkcionira slično kao built-in React "useContext" hook. Cijeli projekt se nalazi ovdje: LINK Ako želimo jednostavno opisati state, možemo reći da se "state" sastoji od varijable i metode. Varijabla je trenutna vrijednost a metoda je funkcija koja postavlja tu trenutnu vrijednost. Ako se varijabla promjeni, komponente aplikacije se prilagođavaju novom state-u. Osim toga, imamo state inicijaciju, odnosno početne (init) vrijednosti state varijabli aplikacije. Prije nego što nastavimo, ne bi bilo loše da bacimo oko na ovu objavu. Pravimo projekt: npx create-react-app moja-redux-aplikacija Instaliramo Redux: npm install --save...

Tehnički katalog

Tehnički katalog za Wild Systems. Katalog sam izradio u Inkscape-u a "rasterske" elemente sam modificirao u Kriti. Sve je u A5 formatu u 300dpi. Slike...
Tehnički katalog za Wild Systems. Katalog sam izradio u Inkscape-u a "rasterske" elemente sam modificirao u Kriti. Sve je u A5 formatu u 300dpi. Slike sam "izrezao" u Inkscape-u sa Huion HS611 tabletom. Slike NASLOVNASTRANICA 1.STRANICA 2.STRANICA 3.STRANICA 4.STRANICA 5.STRANICA 6.STRANICA 7.

Kako instalirati i koristiti React na Linuxu?

Kako instalirati i koristiti React na Linuxu? Trebamo li proširiti svoje frontend znanje sa frameworkom u kojem jednostavno možemo podijeliti elemente web stranice (aplikacije) u...
Kako instalirati i koristiti React na Linuxu? Trebamo li proširiti svoje frontend znanje sa frameworkom u kojem jednostavno možemo podijeliti elemente web stranice (aplikacije) u samostalne komponente? Ovdje pitanje naravno sadržava i odgovor. Isplati li se naučiti React? Problem sa HTML/JS je taj da teško možemo održavati/nadograđivati veće projekte. React nam omogućava da se lakše snalazimo sa komponentama i da lakše povežemo evente preko state-a. Imamo i “build” opciju koja optimizira kod. Komponente možemo kasnije prekopirati u novi projekt i koristiti sa manjim prilagodbama. Osim mobilne, možemo napraviti web aplikacije ili Electron desktop aplikacije. Posao React developera je tražen i...

Codeigniter – registracija/prijava

Prije ovoga bacite oko na ovu objavu. Kod je na github. Cijeli postupak ide ovako: registracija korisnikakorisnik pošalje email i šifruako email ne postoji napravi...
Prije ovoga bacite oko na ovu objavu. Kod je na github. Cijeli postupak ide ovako: registracija korisnikakorisnik pošalje email i šifruako email ne postoji napravi novi korisnički računprijava korisnikakorisnik pošalje email i šifruako email postoji - prijavi korisnika Kod registracije unosimo email, šifru i user id (UUID) u bazu podataka. Kad se korisnik prijavi šaljemo mu (http-only) browser-only cookie. Znači cookie do kojeg se ne može doći sa javascriptom u internet pregledniku. U sesiji (session) dodajmo ključ ["user-logged-on" => 'f750204d-e73d-43e7-a5c2-cff967d233c6']. Na ponovnoj posjeti, provjeravamo (preko cookie-ja) "user-logged-on" iz sesije. Na odjavi, brišemo ključ sesije. U phpMyAdmin (ili preko terminala) pravimo...

Codeigniter – Model

Modelom nazivamo sve ono u PHP (ili bilo kojem jeziku) što radi sa bazompodataka. To su klase, validacija i wrapper funkcije/metode. Prije ovoga bacite oko...
Modelom nazivamo sve ono u PHP (ili bilo kojem jeziku) što radi sa bazompodataka. To su klase, validacija i wrapper funkcije/metode. Prije ovoga bacite oko na ovu objavu i ne bi bilo loše da prelistamo querybuilder dokumentaciju. U CodeIgniteru pristupne podatke unosimo u .env datoteku. #-------------------------------------------------------------------- # DATABASE #-------------------------------------------------------------------- database.default.hostname = localhost database.default.database = ci4_app database.default.username = root database.default.password = root database.default.DBDriver = MySQLi Datoteku modela pravimo sa: php spark make:model User --suffix Datoteke modela su u "/app/Models" direktoriju. Takva datoteka jepovezana s jednom tablicom. Tamo određujemo koji su stupci dozvoljeni: protected $allowedFields = [ "name", "email", ]; Tu imamo...

Codeigniter – View predlošci

Prije ovoga tutoriala potrebno je baciti oko na ovu objavu. U CI kontroler return string je ono što je prikazano vizualno u internet pregledniku. class...
Prije ovoga tutoriala potrebno je baciti oko na ovu objavu. U CI kontroler return string je ono što je prikazano vizualno u internet pregledniku. class HelloController extends BaseController { public function index() { return "ja sam tekst prikazan u pregledniku!"; } } View funkciju zovemo da učitamo template (html predložak) iz "app/View" direktorija. class HelloController extends BaseController { public function index() { return view("moja-view-datoteka.php"); } } Ili ako imamo pod-direktorij "app/View/header" class HelloController extends BaseController { public function index() { return view("header/moja-view-datoteka.php"); } } Kako prenosimo podatke iz kontrolera u predložak? Podatke prenosimo iz kontrolera u predložak preko asocijativnog array-a....

CodeIgniter – POST Zahtjev

Klasični post zahtjev iz frome Pod pretpostavkom da imamo već instaliran CodeIgniter.Pravimo kontroler: php spark make:controller Post --suffix Zatim pravimo HTML template ./app/Views/posts.php i dodajemo...
Klasični post zahtjev iz frome Pod pretpostavkom da imamo već instaliran CodeIgniter.Pravimo kontroler: php spark make:controller Post --suffix Zatim pravimo HTML template ./app/Views/posts.php i dodajemo sadržaj: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title></title> </head> <body> <form action="<?= site_url('post') ?>" method="post"> <p>Name: <?php echo $name ?></p> <p>Email: <?php echo $email ?></p> <br> <p>Unesi podatke: </p> <input type="text" name="name" placeholder="Enter name"/> <br><br> <input type="email" name="email" placeholder="Enter email"/><br><br> <button type="submit">Submit</button> </form> </body> </html> Dodajemo putanju u "/app/Config/routes.php": $routes->get('post', 'PostController::index'); $routes->post('post', 'PostController::index'); U PostController::index unosimo: public function index() { $templateData = [ 'name' => null, 'email'...

Codeigniter

Kada dođemo do točke gdje se Wordpress jednostavno više ne može prilagoditi za naše potrebe, treba nam framework. To može biti CRUD za neku bazu...
Kada dođemo do točke gdje se Wordpress jednostavno više ne može prilagoditi za naše potrebe, treba nam framework. To može biti CRUD za neku bazu podataka, API ili slično. Što je framework? Framework je softver koji rješava probleme ponovnog pisanja koda i sigurnosti. Što znači, da se radi o jednom "abstraktnom sloju" iznad običnog PHP-a. Framework nam pruža set klasa i wrapper funkcija koje olakšavaju/ubrzavaju rad s projektom. Zašto CodeIgniter? A zašto ne? Ako Google-amo CodeIgniter dobijemo sponzorirane gluposti koje govore o tome da CodeIgniter nije siguran. Svatko pametan će nakon toga otići na: https://www.cvedetails.com/vulnerability-list/vendor_id-6918/Codeigniter.html pa sam provjeriti sigurnosne propuste....