1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <?php Class Product { Global $db; function __construct() { setProductInfo($_GET['id']); } /** * Idee hiervan is dat hij de product info opslaat , * het ID en als er geen ID is van het product dat hij zichzelf vernietigd. */ function setProductInfo($id){ $this->product_info = $db->fetchAssoc($db->query("Select * from products_ where id = ' ".$id." ' ")); if(!empty($this->product_info['id'])){ return true; }else{ destroy(); } function destroy(){ unset($this); return true; } } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <?php namespace DatabaseEntitiesKeuken; class Product { //inhoud function getName() { return "Test1"; } }; namespace DatabaseEntitiesStofruimte; class Product { // inhoud function getName() { return "Test2"; } }; use DatabaseEntitiesKeukenProduct; $product = new Product(); echo $product->getName(); use DatabaseEntitiesStofruimteProduct; $product_stof = new Product(); echo $product_stof->getName(); ?> |
Ja ik heb ook meerdere drupal sites gemaakt, en inderdaad je kunt het zo aanpassen als je wilt, net als elk opensource pakket, maar het is absoluut niet ideaal. De code is niet OOP en erg rommelig en inefficient (maar daarmee wel weer flexibel).quote:Op vrijdag 25 mei 2012 17:04 schreef Pizzalucht het volgende:
[..]
Dat ligt meer aan ervaring. Met Drupal kan je eigenlijk alles aanpassen, als je weet hoe.
De documentatie van Drupal is over het algemeen ook erg goed.
Maar als je niet verder komt dan een module installeren, aanzetten en er dan achterkomen dat het niet precies is wat je zoekt, en dan stopt met proberen, dan is Drupal inderdaad niks voor je.
Ik werk ook bij een bedrijf waar we bijna alleen maar Drupal doen, en het is veel meer dan alleen "een kleine hack/aanpassing".
Nee, waarom zou je dat willen?quote:Op vrijdag 25 mei 2012 18:55 schreef cablegunmaster het volgende:
Ik vraag me af , ik zit nu heel erg in OO Php te verdiepen en nu is mij de vraag hoe ik het volgende idee moet uitvoeren, ik zit nu met een idee om al mijn Producten in klasses te maken zodat het makkelijker is om het uit te voeren / aan te passen.
Kan een Object zichzelf vernietigen? ,
Dat zou kunnen maar het is niet hoe het hoort, een class moet zo zelfstandig mogelijk zijn. Je kunt OF de databasegegevens in de class zelf definieren (als je het alleen daar nodig hebt) OF je kunt de gegevens opgeven bij het oproepen van de class.quote:tweede vraag als ik een klasse heb genaamd $db en die wil ik overal gebruiken is Global $db; voldoende? of kan ik in de $db klasse iets doen zodat ik het niet perse in elke functie opnieuw hoef te definiëren.
Nieuwschierigheid . Ik probeer nu iets op te zetten in een soort van MVC model.quote:Op vrijdag 25 mei 2012 20:26 schreef Schepseltje het volgende:
Nee, waarom zou je dat willen?
Dat zou kunnen maar het is niet hoe het hoort, een class moet zo zelfstandig mogelijk zijn. Je kunt OF de databasegegevens in de class zelf definieren (als je het alleen daar nodig hebt) OF je kunt de gegevens opgeven bij het oproepen van de class.
Ik denk dat je het beste met een framework kan beginnen, dan wordt je gedwongen om op de juiste manier te werken en snap je het OOP concept veel sneller.
Hoe echo je het? Want je kan de tijd instellen die op het huidige moment staat ingesteld.quote:Op vrijdag 25 mei 2012 21:58 schreef boem-dikkie het volgende:
Tof Sitethief, ook even kijken.
Kan het trouwens aan een PHP server liggen hoe strtotime reageert? Als ik een strtotime functie gebruik als ik lokaal werk doet hij precies wat ik wil, namelijk gewoon de datum 25-05-2012 naar een unix timestamp converteren, als ik datzelfde doe op mijn webserver maakt hij er opeens 02-11-2030 van.
Ik gooi de userinput met de strtotime functie in de database.quote:Op vrijdag 25 mei 2012 22:02 schreef cablegunmaster het volgende:
[..]
Hoe echo je het? Want je kan de tijd instellen die op het huidige moment staat ingesteld.
Probeer eens op beide server een simpele echo date uit te voeren en kijk of dat misgaat. of klopt.
Vervolgens weet je hierdoor op welke tijd Je server staat. Of dit aan te passen is mogelijk. Maar ik weet niet zo snel waar.
Kijk anders even hiernaar: [SOLVED] Php date function wrong time
Weet ik , tis een examplequote:
Ik snap OO programeren In Java beter dan in Php daar heb ik al een MVC model gebouwd. Hierbij zit ik nog te kijken of ik in Phpstorm* een eigen MVC kan opzetten. Zit niet zo denigrerend te doenquote:Op zaterdag 26 mei 2012 10:56 schreef boem-dikkie het volgende:
Ben je al zo ver dat je MVC begrijpt? Anders raad ik de tutorial van Zend Framework aan, ook al ga je daar niks mee doen het is wel een goede manier om te begrijpen hoe een MVC model en OOP werkt in een 'echte' applicatie in plaats van een auto die rood is en kan rijden.
Probeer alleen maar te helpen hoor.quote:Op zaterdag 26 mei 2012 11:09 schreef cablegunmaster het volgende:
[..]
Ik snap OO programeren In Java beter dan in Php daar heb ik al een MVC model gebouwd. Hierbij zit ik nog te kijken of ik in Phpstorm* een eigen MVC kan opzetten. Zit niet zo denigrerend te doen
Ik dank je voor je hulp, als je vragen hebt stel ze.quote:Op zaterdag 26 mei 2012 11:20 schreef boem-dikkie het volgende:
[..]
Probeer alleen maar te helpen hoor.
Ik zit niet zo in de PHP, maar vanuit een algemeen genomen perspectief kan ik zeggen dat er niets mis is met globale variabelen. Mits je het singleton principe in stand houdt. Dus alleen globaal declareren als je zeker weet dat er altijd maar één instantie zal zijn.quote:Op zaterdag 26 mei 2012 11:09 schreef cablegunmaster het volgende:
[..]
...of onhandig waren) Vanuit de gebruikers opinie. Weet nu niet of hier een waarheid in zit?
Daar zat ik eerder naar te kijken.
Duidelijk dat is ook het geval!quote:Op zaterdag 26 mei 2012 11:42 schreef Devv het volgende:
[..]
Ik zit niet zo in de PHP, maar vanuit een algemeen genomen perspectief kan ik zeggen dat er niets mis is met globale variabelen. Mits je het singleton principe in stand houdt. Dus alleen globaal declareren als je zeker weet dat er altijd maar één instantie zal zijn.
Wat is er anders aan MVC in Java dan in PHP?quote:Op zaterdag 26 mei 2012 11:09 schreef cablegunmaster het volgende:
[..]
Ik snap OO programeren In Java beter dan in Php daar heb ik al een MVC model gebouwd. Hierbij zit ik nog te kijken of ik in Phpstorm* een eigen MVC kan opzetten. Zit niet zo denigrerend te doen
Het heeft als nadeel dat iedere method waar je "global $db;" gebruikt, potentieel je database instance kan veranderen door iets anders. Dan krijg je fouten die heel lastig te vinden zijn. Als je in je model een setter hebt voor de database, kun je daar valideren dat je echt een database object krijgt. En daarna heb je een reference naar het object, daar kan de rest van de wereld niet bij.quote:Vragen die ik had waren:
1. Ik heb een DB klasse moet ik daarvoor bij elke classe , functie perse Global $db neerzetten? of is GLOBALS['db'] Daarvoor een betere oplossing? (Ik lees overal dat Globals "onveilig" of onhandig waren) Vanuit de gebruikers opinie. Weet nu niet of hier een waarheid in zit?
Smarty (of een ander templating systeem) hoort in de view.quote:2. Als ik eenmaal bezig ben zat ik mijn structuur uit te denken, om een goede basis te creëren. met $_POST en afhandeling van $_GET. (filestructuur).
3. Hoe verwerk ik Smarty . (vermoedelijk met behulp van de View)
1. geen idee , gewoon nog niet mee gewerkt.quote:Op zaterdag 26 mei 2012 11:55 schreef Light het volgende:
Wat is er anders aan MVC in Java dan in PHP?
[..]
Het heeft als nadeel dat iedere method waar je "global $db;" gebruikt, potentieel je database instance kan veranderen door iets anders. Dan krijg je fouten die heel lastig te vinden zijn. Als je in je model een setter hebt voor de database, kun je daar valideren dat je echt een database object krijgt. En daarna heb je een reference naar het object, daar kan de rest van de wereld niet bij.
[..]
Smarty (of een ander templating systeem) hoort in de view.
Ik heb mezelf schromelijk overschat.quote:Op zaterdag 26 mei 2012 10:56 schreef boem-dikkie het volgende:
Ben je al zo ver dat je MVC begrijpt?
De structuren zijn gewoon hetzelfdequote:Op zaterdag 26 mei 2012 12:08 schreef cablegunmaster het volgende:
[..]
1. geen idee , gewoon nog niet mee gewerkt.
quote:2. Dus eigenlijk in de controller Pseudo: Setdb($db) functie. if(get_class($db) == "db"); true false.
en dan het toepassen. met Getdb(); in elke klasse ?
1 2 3 4 5 6 7 8 9 | <?php private $db; public function setDb(MyDatabaseClass $db) { $this->db = $db; } public function getDb() { return $this->db; } ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |