Posts by M.Beers

    Een tijd terug heb ik een aangekondigd bezig te zijn met een eigen framework.
    Daarom maak ik hier een topic aan om de voortgang te bekijken en te beoordelen, gezien Ictscripters deze functionaliteit niet aanbiedt.


    Inleiding
    PhpBakery is een framework geschreven in PHP 5.3 en hoger, en bevordert het programmeren volgens de DRY methode. Het framework stimuleert een uiterst snelle, efficiënte en uitbreidbare manieren van het opbouwen van een PHP applicatie.


    Meer informatie hierover komt later...


    Volledige featurelijst (mogelijk incompleet)
    - MVC design pattern
    - Data access objects (DAO)
    - Query builders
    - Active records
    - DB migratie (Handig voor groeps ontwikkeling)
    - Formulier validatie
    - Authenticatie (Inloggen)
    - Thema's
    - Web services
    - Internationalisatie (I18N en L10N)
    - Layer-based caching
    - Beveiliging (SQL-injectie, XSS, CSRF)
    - Error en Log handeling
    - Unit testing


    Benchmarking


    17-12-2012 - 1928 requests in 30 seconden (PhpBakery), 577 requests in 30 seconden (CodeIgniter 2.1.3)


    Change log 0.0.1-dev


    17-12-2012 Globale onderdelen als .htacces, index, constanten (100%)
    17-12-2012 Bootstrap af (100%, voor nu)
    19-12-2012 Events (100%)
    19-12-2012 Resource handler (20%)


    Snippets om te beoordelen / corrigeren op fouten


    http://pastebin.com/KLhs4qx6 (Bootstrap)

    Zoals meerdere keren gezegd is het thuis hosten van een server te duur.
    Allereerst heb je een snelle verbinding nodig dit krijg je thuis nooit dan moet je al tegen de zo genoemde backbone zitten. Je moet een eigen ip-adres inkopen wat duur is. Je moet een licentie voor directadmin aanschaffen en ook nog eens je hardware en onderhoud.


    Als het alleen voor het verhuren van webservice is kan je het beste een reseller pakket nemen van bijvoorbeeld web-oke.nl.


    Voordelen:
    - Goedkoop
    - Directadmin
    - Personeel bij de server (van web-oke)
    - Snelle verbinding
    - Goeie support


    Nadelen:
    - Weinig ruimte, meer ruimte is meer kosten maar die kosten worden gedekt zodra je meer verhuurd ofc.

    Hallo,


    Verder is de naamgeving incorrect. Functies en variabelen horen te beginnen met een kleine letter.
    Overigens @public gedoe enzo, final is er bijv. ook nog één


    Mvg,
    Tim


    Snap ik wel maargoed het gaat om het leerproces als je in een keer alles verteld raak je in de war... ik bedoel hoeveel gebruik je nou een final ik persoonlijk nooit ja alleen om mn main object te declareren omdat het kan.


    Maargoed om even antwoord te geven op de vragen...
    Voor het menu zou ik een apparte tabel maken en vervolgens alles tonen d.m.v. een recursieve functie (een functie die zich herhaalt tot een bepaald punt is bereikt). Totaal geen rocket science maar wel goed om te gebruiken. Hieronder een linkje om je op weg te helpen :)


    http://crisp.tweakblogs.net/bl…using-only-one-query.html

    Wanneer deze data uit de database komt moet je je database instellen op utf-8-general, anders wat L.Groot zegt output door de bovenstaande functies halen

    Je haalt OOP en inline programmeren door elkaar...


    Variabelen binnen een classe dienen altijd public, private, public static, private static (je hebt ook protected maar is lastiger) te zijn... deze zijn vervolgens aan te roepen door $this->variabel_naam; of self::$variabel_naam
    Verder kun je if/else statements niet aanroepen in een classe zonder in een constructor of methode te werken.


    Ik geef nu aan welke fouten je hebt gemaakt, nu mag je ze zelf oplossen gezien je er dan ook wat van leert :thumbup:

    Dit zijn geen zware programma's voor zo'n kaart...
    Verder draaien veel programma's zodra ze niet zichtbaar zijn op je scherm / actief zijn aangeklikt op een soort van idle-modus waardoor dit voor je graphische kaart geen stroom etc. gebruikt. Photoshop / Illustrator word pas zwaar bij het aanpassen van foto's (renderen)

    Ik zou persoonlijk meer naar deze kleuren kijken, dit is allemaal onderzocht door verschillende mensen waaruit blijkt dat dit echt werkt. Dit is zelfs bepalend hoe mensen naar jouw onderneming kijken (psychologisch gezien).


    Warme kleur:
    Oranje - Warmte, energie, enthousiasme, vrolijkheid, jong, actie, vriendelijk, creativiteit, herfst, succes, gezondheid, onafhankelijkheid, goedkoop


    Koele kleuren:
    Blauw - Welvaart, wijsheid, rust, water, zee, creativiteit, vrede, veiligheid, lucht, vrijheid, vertrouwen, toewijding, technologie, koel, formeel, stabiel, inspiratie, vriendschap, betrouwbaar


    Groen - Natuur, vruchtbaarheid, genezing, hoop, groei, welvaart, jeugd, rustgevend, stilte, geluk, bezinning, evenwicht, beheersing, puurheid, betrouwbaarheid

    Wat thjeu zegt, ik mis ook de gedachte gang achter het logo.


    Verder zou ik ook een andere kleur kiezen... hier zijn verschillende wetenschappelijke artikelen over te lezen waaruit blijkt dat de kleur geel het volgende uitstraalt:


    Licht, intelligentie, logica, samenwerking, energie, vrolijkheid, optimisme, duidelijkheid, jaloezie, ziekte, zwakte, waarschuwing, nieuwsgierigheid, humor, optimisme, zomer, hoop.


    Vooral de dik gedrukte woorden/betekenissen zijn negatief in jouw core business.

    DirkZz Ik ben bezig met mijn eigen framework waarbij de Bootstrap loader zo goed als af is. Deze zal voor de geïnteresseerde te volgen zijn via GitHub (https://github.com/michaelbeers/PhpBakery/).


    Verder was het niet een heel boeiend probleem ik wou weten hoe dit precies in zijn werking ging omdat er op php.net weinig over te vinden is. Achteraf is dit heel simpel een methode om classes te groeperen, denk hierbij aan Java of C# waarbij je packets maakt om zo duplicatie's van namen te voorkomen.

    Beste ICTscripters,


    Ik ben sinds kort begonnen met een framework voor php 5.3+.
    Het inladen van classes etc. gaat nu geheel automatisch alleen snap ik niet helemaal hoe namespaces werken.
    Kan iemand mij dit uitleggen en hoe ik dit nu het beste kan toepassen in de onderstaande methode?
    De classes komen in de app map (BASE_PATH . 'app') of de systeem map (SYS_PATH).


    http://pastebin.com/EGsHS7UC


    Alvast bedankt,


    Michael


    Edit: Code goed geparsed
    Edit2: Code wilt niet goed tonen door mijn IDE dus een parstebin link toegevoegd
    Edit3: Ik ben er al uit gekomen dus er kan een slote op of hij kan weg

    Een registery of bootstrap classe is de classe waar je vaak je applicatie mee begint, in dit bestand sla je al je objecten in op waardoor je deze door heel je applicatie kan oproepen.
    Dit kan met een singleton pattern wat Darsstar zegt, of met getters en setters. Hierbij heeft elke methode zijn voor- en nadelen.
    Het singleton pattern is Stefan.J zegt alleen niet aan te raden, maar is mogelijk omdat het allen voor het aanroepen is van je library.


    Een heel basic maar slecht voorbeeld
    application.php


    index.php (die van je applicatie)

    PHP
    require('application.php');
    $app = new Application();
    
    
    $app->db; //om je database aan te roepen


    Mocht je hiervan het principe niet snappen is OOP denk ik nog een te grote stap voor je. Dan raad ik je aan om een tijde te gaan kloten met Java of C# omdat je hierin goed het pricipe van OOP aanleerd.

    Je checkbox krijgt de breedte van het input veld mee...


    Code
    input {
      background: transparent;
      border: transparent;
      width: 182px;
      height: 22px;
    }


    om dit op te lossen zou je hiervan kunnen maken:


    Code
    input[type="text"], input[type="password"] {
      background: transparent;
      border: transparent;
      width: 182px;
      height: 22px;
    }

    Ik denk dat je fout niet in de request zit maar in het php bestand zelf... anders zou je een error krijgen ;)
    Als je gaat werken met AJAX is het misschien een tip om de code te veranderen in het volgende



    Verder reageerd een ajax request op een echo/vardump/print etc. en niet op een return... return is in dit geval alleen om het script te stoppen :)


    Edit De manier waarop je Jquery gebruikt is niet slecht overigens... de $ wat je vaak ziet is gewoon een shortcut voor jQuery

    Ja het beste is voor 1024 pixels ivm tablets... het is ook mogelijk om je website responsive te maken doormiddel van media queries dan kun je voor elk formaat het design aanpassen.


    Verder om even in te haken op Tim zijn reactie, in mijn ogen is hoogte ook belangrijk.
    Zorg ervoor dat belangrijke content altijd kleiner is dan 480 pixels hoog. Waarom? Dan weet je zeker dat dit wanneer je de pagina opent zichtbaar is op je scherm. Dus als je een reclameboodschap op je website wilt zorg dan dat hij binnen de 480 pixels valt ;)

    Steeds meer mensen bekijken websites op hun tablet deze zijn vaak nog 1024x768 pixels... voor het mooie zou je 5 formaten moeten hebben:


    - 1366 x ***
    - 959 x 768 (tablet landscape)
    - 768 x 959 (tablet portrait)
    - 767 x 480 (mobiel landscape)
    - 480 x 767 (mobiel portrait)

    Ik denk dat je je queries duidelijker op moet stellen...


    Waarom checkt hij eerst `orders`.`id` met $retrou->id en vervolgens met $db->id?


    Tip: Maak een ERD van je database dan haal je never nooit kolommen meer door elkaar... kost misschien wat tijd om dit uit te zoeken maar je zal er heel veel profijt van hebben omdat alles zwart op wit staat.


    Edit Onderstaand jouw code even aangepast... ik heb werkelijk geen idee wat wat is gezien ik niet weet welke relaties je legt in je database dit zou je nog even moeten controleren... lees de comments en leer ervan ;)


    Je hebt zoiets als responsive design waarmee dit heel makkelijk kan... je kan alleen de wysiwyg-editor misschien niet gebruiken maar dat vind ik persoonlijk een nutteloze feature als je code ook gewoon in pastebin kan plaatsen en een link kan posten.