Anonymní profil šnek – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Anonymní profil šnek – Programujte.comAnonymní profil šnek – Programujte.com

 

Příspěvky odeslané z IP adresy 185.193.86.–

Šnekr
PHP › Efektivni ukladani pole do m…
Včera   #382314

Nepotrebuji eshop, spis sem nevedel jak se takova data v praxi bezne ukladaji a tohle mi prislo jako idealni pripad :) json me nenapadl, dobry tip, dik

Šnekr
PHP › Efektivni ukladani pole do m…
Včera   #382311

zdravim,

co je efektivnejsi zpusob ukladani php array do mysql a cookies? Serialize/unserialize, nebo mit naky delici znaky a pouzivat implode/explode? 

Pripadne jaky datovy typ mysql pouzit?text? Jedna se o testovaci ukladani nakupniho kosiku, pole bude obsahovat id produktu, pocet, parms[barva, velikost,... nepovinne]

diky! :)

PHP › PHP a pochopení OOP
7. 11. 2018   #382218

Přesně tak :)

Mám další otázku... Vynechme MVC, v tom momentálně dělat nechci. Je takopvý zápis v pořádku?

Třída:

class CalendarEvent {
    private $_db;
    function __construct(PDO $_db) {
        $this->_db = $_db;
    }
    
    function addEvent($name, $start, $end, $user, $text, $klient = 0) {
        $insertSql = "INSERT INTO calendar (nazev, start, end, user, klient, text) VALUES (?, STR_TO_DATE(?,'%d.%m.%Y-%H-%i'), STR_TO_DATE(?,'%d.%m.%Y-%H-%i'), ?, ?, ?)";
        $insert = $this->_db->prepare($insertSql);
        $insert->execute([$name, $start, $end, $user, $klient, $text]);
    }
    
    
    function getAll($user = null, $order = "id desc") {
        if($user) $where = "WHERE `user` = $user";
        else $where = "";
        
        $sqlSelect = "SELECT * FROM calendar $where order by $order";
        $select = $this->_db->prepare($sqlSelect);
        $select->execute();
        return $select->fetchAll();
    }
    
    function getEvent($id) {
        $sqlLoad = "SELECT * FROM calendar WHERE id = ?";
        $loadResult = $this->_db->prepare($sqlLoad);
        $loadResult->execute([$id]);
        $data = $loadResult->fetch();
        
        return (object) $data;        
    }
    
    function updateEvent($data, $id) {
        $sqlLoad = "UPDATE calendar SET nazev = ?, start = STR_TO_DATE(?,'%d.%m.%Y-%H-%i'), end = STR_TO_DATE(?,'%d.%m.%Y-%H-%i'), klient = ?, text = ? WHERE id = ?";
        $loadResult = $this->_db->prepare($sqlLoad);
        $loadResult->execute([$data["nazev"],$data["start"],$data["end"],$data["klient"],$data["text"],$id]);      
    }

    function removeEvent($id) {
        $sqlLoad = "DELETE from calendar WHERE id = ?";
        $loadResult = $this->_db->prepare($sqlLoad);
        $loadResult->execute([$id]);              
    }
}

Ten zápis metody add a edit je naschvál - zajímá mě, jestli je mezi tim v praxi rozdíl? Příjde mi totiž přehlednější to mít rovnou v deklaraci proměnných než to posílat jako pole (netbeans mi ukaze, jaky jsou dulezity parametry u metody, kdyz predavam pole, tak ne)

Add.php:

if(isset($_POST["calendar_add"])) {
    try {
        $calendar = new CalendarEvent($_db);
        $start = $_POST["start"]."-".$_POST["start_hh"]."-".$_POST["start_mm"];
        $end = $_POST["end"]."-".$_POST["end_hh"]."-".$_POST["end_mm"];
        
        $calendar->addEvent($_POST["name"], $start, $end, $_SESSION["loginId"], $_POST["text"] ,$_POST["klient"]);
        Messages::writeSucces("Done...", "index.php"]);
    } catch (Exception $ex) {
        Messages::writeError($ex->getMessage());
    }
}
FORM()....

Třídu messages neřešte, to je moje pomocná třída, která filtruje hlášky a případně vrací na index...

Vypis vsech eventů:

$calendar = new CalendarEvent($_db);
$calendarData = $calendar->getAll();

foreach($calendarData as $event) {
    echo $event["id"]." - ". $event["nazev"].....
    
}

1) Moje otázka je zase správnost zápisu

2) chci zeptat, nechci MVC - věci jako foreach ktery vypisujou mam delat rovnou tak kde se to zobrazuje, nebo si to nekde pripravit a v html pak jen <?= $vygenerovaneHTML ?>

3) Kdyz je to foreachAll(), jde docílit z toho aby každej row v cyklu byl jako objekt a né pole?

PHP › PHP a pochopení OOP
27. 10. 2018   #382071

Díky moc Kite! Je to fajn, vážně je to příjemější práce :-)

Ještě prosím poradit - Když vracím z metody objekt fetchAll z pdo, jak si pak mám udělat vhodně cyklus na výpis? Nebo to mám raději vracet jako pole rovnou?

šnekr
PHP › PHP a pochopení OOP
25. 10. 2018   #382061

#32 Kit
Tomu rozumím, mě spíš zajímá metoda jako taková... Ja vycucat víc řídků a předat to... Pole samotný? A pak to pres foreach vytáhnout?

PHP › PHP a pochopení OOP
15. 10. 2018   #381949

#23 Kit
s tím douhlasím, ale zrovna tam, kde chci vracet reálnou chybu (ne programovou) tak chci vypsat jen chybu - jako například, když se někdo registruje a je již zaregistrovaný mail...

šnekr
PHP › PHP a pochopení OOP
4. 10. 2018   #381845

#16 Kit
No já nevim, není mi to moc sypatický :D

šnekr
PHP › PHP a pochopení OOP
4. 10. 2018   #381841

#14 Kit
A jak ve třídě vytvořím vyjímku? Nšjak se mi to u php7 nedaří dohledat...

šnekr
PHP › PHP a pochopení OOP
4. 10. 2018   #381837

Díky za vysvětlení, pravda...

Ještě jsem se ptal - když se přihlašuju, kdo má psát chybové hlášky? Ta čáíst, co volá funkci třídy, třída, nebo tak jak to mám externí třídou na výpis hlášek? (messages->writeSucces(), messages->writeError()?

Dále jsem narazil na problém... Proč nemůžu použít extends na více tříd? mám třídu Messages na informační zprávy a pak bych chtěl mít solo třídu na hesla? Nebo ty hesla mám nechat zabalený v tříděš s loginem?

Další otázka OOP na příkladu loginu/registrace - udělat pro registraci solo třídu, nebo ji vmísit do téhle třídy login? Nemusí se jednat vždy o veřejnou klasickou registraci, ale i třeba o správu uživatelů administrace....

šnek
PHP › PHP a pochopení OOP
3. 10. 2018   #381821

Super, díky za postřehy.

Měl bych další otázku - jak implementovat cizí třídu?respektive, dejme tomu, chci mít další třídu messages s funkcema succes a error, principielne messages->succes("vše ok"); a opačně při chybě. Aby se to dalo jednoduše stylovat... Používá se na tohle vůbec třída? protože když funkce, která tě přihlásí nic nemá vracet, jak by o fungovalo? Kdo se má postarat o vypsání chyby, že bylo zadáno špatné jméno/heslo? Třída nebo skript, co volá třídu?

šnek
PHP › PHP a pochopení OOP
3. 10. 2018   #381819

Zdravím přátelé. Snažím se pochopit oop v php, jak se používá, k čemu je dobré. Zkusil jsem si udělat jednoduchý login, chci znát vaše názory, rady, jak to dělat jinak a podobně.

<?php
class login {
    public $id;
    
    public function __construct() {
        if(isset($_SESSION["loginId"])) $this->id = $_SESSION["loginId"]; //pokud sme jiz prihlaseni, tak to rovnou ulozime
    }
    
    function isLogged() {
        if(isset($_SESSION["loginId"])) {
            return true;
        } else {
            return false;
        }
    }
    public function setId(int $id) {
        $this->id = $id;
        $_SESSION["loginId"] = 100;
    }
    public function login($user, $pass) {
        if($user == "jakub" && $pass == "petr") { 
            $this->setId(100);
            return true;
        } else {
            return false;
        }
    }
    
    function logout() {
        unset($_SESSION["loginId"]);
    }
    
    
}

Pokaždé v hlavičce udělám $login = new login(); - pokud už jsem přihlášený, měl bych mít možnost používat na stránkách $login->isLogged(), případně pak dopsání fukce na získání ID kdo je přihlášený a pod.

pokud není přihlášen, mohu to umožnit pomocí $login->login("jméno","heslo"); což vrátí true/false podle toho, zda je kombinace správná...

Je toto správně? Díky za rady

šnek
PHP › Obecný dotaz: PHP alá moduly…
29. 9. 2018   #381776

#9 peter
Jasně, vytvořil jsem si soubor vygenerovaný do .html... Ale...

Co když potřebuju řešit práva a skrývat v menu moduly, na který nemá daný člověk práva?

šnek
PHP › Obecný dotaz: PHP alá moduly…
15. 8. 2018   #381275

Pomalu a jistě mě k oop v php přemlouváš, ale furt mi v php ta topologie nedává smysl...

Co je vlastně v php třída?

Dělá se jedna třída na menu, druhá na submenu, třetí na obsah? Já si prostě to rozdělení v php nedokážu plně reálně představit tak, aby mi to usnadnilo život...

šnek
PHP › Úložiště
14. 8. 2018   #381250

OwnCloud

šnek
PHP › Obecný dotaz: PHP alá moduly…
14. 8. 2018   #381247

Zdravím přátelé...

Nemám rád OOP v PHP (Nevím proč, nesedí mi v něm) - Rád bych si napsal nějaký řídící systém, který by mi načítal moduly stránky - Dám příklad:

Administrace čehokoliv - Základ, přihlášení

Moduly - Faktury, Sklad, Objednávku

Rád bych měl vždy složku s modulem a v ní potřebné scripty k danému modulu.

To co chci napsat, je systém který bude ty moduly automaticky ze složky načítat - Vloží odkaz do Menu a ve chvíli, kdy v nemnu kliknu na modul, aby se v submenu ukázalo submenu daného modulu. Všechny tyhle informace vč. submenu chci v tý složce s daným modulem.

Nechci příklady, spíš teorii - jak by jste to řešili vy? :-) Díky za diskuzi

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032018 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý