Jak postupovat při designu php aplikace s přihlašováním

Chtěl bych si po létech splnit svůj sen a napsat php  aplikaci s přihlašováním pro uživatele. V minulosti jsem to už zkoušel a nedopadlo to moc dobře. Buď jsem měl od počátku špatný design, např. jsem měl v paměti moc dlouhé stringy a buffery (náročnost na paměť) nebo to bylo objektově moc zatížené na CPU. Ale já potřebuju napsat aplikaci, která nebude náročná na paměť, CPU, hity a I/O operace. Jen podotýkám že nemám na to školu, jen se po dlouhé době vracím k php. Aplikaci chci udělat co nejjednodušší, takže se vyhnu vzkazníku nebo dlouhým výpisům dat z mysql. Zezačátku mám zájem sbírat od uživatelů data a to bude probíhat v několika úrovních. Teprve až vstupní data zkompletuji a vyhodnotím, zapíšu do hlavní tabulky, chci aby uživatelé měli k dispozici všechny funkce aplikace. Ale zdá se, že bude těžké takovou databázi na freehostingu exportovat a zálohovat, protože ta možnost tam není a export/import je náročný kvůli limitům. Tak si říkám (1. otázka) jak na designovat to mysql. Dát tam třeba 20 tabulek na ty vstupní data, aby to bylo oddělené od tabulky s uživateli a od tabulky se  zkompletovanými daty? To by snížilo množství dat v jednotlivých tabulkách a bylo by pro mě snažší  sledovat co se děje v jednotlivých tabulkách. Oddělil bych jednotlivé fáze vyplňování dat, které budou obsluhovány jinými php skripty. 2. nejspíš bych co se dá nahrál mimo freehostingový server (obrázky, js, css). Slyšel jsem že existují cache. Existují free cache servery a nemyslím proxy, které byste mi mohli doporučit? Pak jsem slyšel že existuje technika lazycache že se má vše nahrát do jednoho souboru. Asi myšleno aby js nebyl roztahaný do více souborů. Což právě v mém případě je tak - každá úroveň vyplňování dat a řekněme že jich bude 20 bude obsahovat 20 js souborů a 20 php skpritů. To asi není ideální, že? Takže všechno sloučit dohromady? Ale jak bych to pak mohl vyvíjet, když bych se v tom nevyznal. Zřejmě na to musí být nějaká aplikace, ve které by se to php, js, css dalo vyvíjet (na linuxu). A nakonec si říkám, že bych nejraději použil nějaký skriptovací jazyk, abych mohl ty php soubory a takový věci jako css a js v jednom souboru vygenerovat, ale netuším jaký skriptovací jazyk se na to hodí. Napadlo mě "pomalé" php, mohl bych jednotlivé data načítat z txt souborů s konfigurací a pak je zkompletovat do .php . Co tím myslím: při vyplňování a odesílání dat se opakují ty samé vzorce na většině stránek. člověk potřebuje znát názvy políček, jak jdou za sebou na formuláři, typ políček, názvy sloupců v mysql pro insert a názvy sloupců pro vyhledávání nebo pro změnu dat... Takže když bych si to uložil jako soubor k načtení a naparsování, tak bych si to snad mohl zjednodušit ale bylo by to zase složité. Celkově se toho děsím protože nevím jaká cesta je správná ale chtěl bych si nějak ušetřit práci.


Re:Jak postupovat při designu php aplikace s přihlašováním
« Odpověď #1 kdy: 10. 08. 2023, 19:44:19 »
Symfony. Na patlání se vybodni.
Děkuji za možnost editace příspěvku.

alex6bbc

  • *****
  • 1 625
    • Zobrazit profil
    • E-mail
Re:Jak postupovat při designu php aplikace s přihlašováním
« Odpověď #2 kdy: 10. 08. 2023, 19:49:07 »
a co se kouknout jak zasifrovat hesla v javascriptu a posilat je na backend, nebo snad pouzivat https. zacal bych js knihovnama a php knihovnama co zjednodusi praci.

Re:Jak postupovat při designu php aplikace s přihlašováním
« Odpověď #3 kdy: 10. 08. 2023, 20:59:31 »
Kolik lidí čekáš, že ti na to bude chodit? Pokud to nejsou stovky až tisíce requestů za sekundu, tak nemá vůbec smysl řešit nějaký optimalizace - prostě to napiš tak, aby to bylo jednoduchý a přehledný, a i freehosting to bude v pohodě stíhat.

A jak už psal někdo přede mnou, zkus se nejdřív podívat, kam se PHP za tu dobu posunulo a jak se dneska dělají weby, aby se z toho člověk nezbláznil - to znamená použití frameworku. Hlavní jsou dva: Symfony a Laravel, pak ještě v české kotlině nějak asi přežívá Nette (u něho je výhoda, že má dokumentaci v češtině).

Re:Jak postupovat při designu php aplikace s přihlašováním
« Odpověď #4 kdy: 10. 08. 2023, 21:43:26 »
Symfony. Na patlání se vybodni.

No frameworku jsem se chtěl vyhnout protože objektové programování je náročné na paměť a CPU. A nechci se na freehostingu dostat do situace, kdy mi na nějakou dobu zastaví po zbytek dne aplikaci protože jsem vyčerpal nějaký limit. Obecně Objektové programování je náročné. Chápu, že pokud bych to jel na placeném hostingu bez omezení hitů, bylo by to OK. Anebo z jakého důvodu mi doporučujete Symfony, je zaměřen právě na lazy caching?


kate

Re:Jak postupovat při designu php aplikace s přihlašováním
« Odpověď #5 kdy: 10. 08. 2023, 22:54:41 »
No frameworku jsem se chtěl vyhnout protože objektové programování je náročné na paměť a CPU.

A to na jakém základě? Nejsem PHP vývojářka ale... Jako ano, všechno má nějaký overhead, ale zrovna tady to bude naprostá marginálie. Oproti tomu nevyužít existující ekosystém je rovnou cesta do pekel a bezpečnostních chyb, zvlášť pokud máte potřebu ptát se i na takový základ...

kate

Re:Jak postupovat při designu php aplikace s přihlašováním
« Odpověď #6 kdy: 10. 08. 2023, 22:55:42 »
Jinak ta otázka je od základu až moc obecná a odpověď by byla spíš série článků…

Re:Jak postupovat při designu php aplikace s přihlašováním
« Odpověď #7 kdy: 11. 08. 2023, 06:27:42 »
No frameworku jsem se chtěl vyhnout protože objektové programování je náročné na paměť a CPU. A nechci se na freehostingu dostat do situace, kdy mi na nějakou dobu zastaví po zbytek dne aplikaci protože jsem vyčerpal nějaký limit. Obecně Objektové programování je náročné. Chápu, že pokud bych to jel na placeném hostingu bez omezení hitů, bylo by to OK. Anebo z jakého důvodu mi doporučujete Symfony, je zaměřen právě na lazy caching?
A zkoušel jsi to? Víš opravdu, že je to problém? Víš opravdu, že potřebuješ "lazy caching", ať už je to cokoliv? Tobě nemá moc smysl radit, protože sice nevíš, jak danou věc udělat, a jdeš se zeptat sem, ale vždycky máš hrozně silnej názor, proč nepoužít jednoduchý řešení, který ti radí ostatní.

Mimochodem nešlo by prostě použít něco jako Google Forms a vykašlat se na celý PHP?

alex6bbc

  • *****
  • 1 625
    • Zobrazit profil
    • E-mail
Re:Jak postupovat při designu php aplikace s přihlašováním
« Odpověď #8 kdy: 11. 08. 2023, 06:59:45 »
Citace: snugar_i
Mimochodem nešlo by prostě použít něco jako Google Forms a vykašlat se na celý PHP?

delal jsem php davno, dnes uz bych do toho nesel a novy framework se neucil.
radsi bych si vybral js+go.

Re:Jak postupovat při designu php aplikace s přihlašováním
« Odpověď #9 kdy: 11. 08. 2023, 07:41:50 »
Symfony. Na patlání se vybodni.

No frameworku jsem se chtěl vyhnout protože objektové programování je náročné na paměť a CPU. A nechci se na freehostingu dostat do situace, kdy mi na nějakou dobu zastaví po zbytek dne aplikaci protože jsem vyčerpal nějaký limit. Obecně Objektové programování je náročné. Chápu, že pokud bych to jel na placeném hostingu bez omezení hitů, bylo by to OK. Anebo z jakého důvodu mi doporučujete Symfony, je zaměřen právě na lazy caching?

A to bude bezat na nejakom 8bitovom arduine ci co ze je to "narocne na pamet a cpu"?
Objektove programovanie je porovnatelne narocne s funkcionalnym programovanim.
To ze tebe sa proste nepaci netreba schovavat za fabulovane terminy a frazy.

Re:Jak postupovat při designu php aplikace s přihlašováním
« Odpověď #10 kdy: 11. 08. 2023, 08:36:05 »
Velmi to hrotis. Ciste php malo zmysel pred 10+ rokmi, ked sa pocital kazdy bajt a request.
Dnes na freehostingu bezne pouzivaju napr. wordpress a to je teda iny zrut pamate a vykonu. Takze nejaky light framework, je nic oproti tomu. To iste databaza.
Kolko tych dat a uzivatelov vlastne bude? Ak je to nejaky skolsky vyskumny projekt, tak ti staci google forms.
Symphony/Laravel mi uz na to pride zbytocne komplikovane.
V principe ty potrebujes idealne nieco hotove, zamerane na formulare. A takychto frameworkov bolo volakedy niekolko, aktualnu situaciu nepoznam, php sa venujem len okrajovo, ked uz niet inej moznosti :)

Re:Jak postupovat při designu php aplikace s přihlašováním
« Odpověď #11 kdy: 11. 08. 2023, 12:33:12 »
Na formuláře dej Drupal + Webform a za vikemd si přesně naklikas co chceš za strukturu, přístupy apod.

Jinak Symfony je sada různých knihoven, staci využívat potřebné (routibg, console, makléř atd) a netřeba celý framework. Ale pak je třeba programovat :-)
Děkuji za možnost editace příspěvku.