Kom ihåg mig?
Home Menu

Menu


Class/Methods för DIV

Ämnesverktyg Visningsalternativ
Oläst 2013-10-08, 18:50 #1
Kimppas avatar
Kimppa Kimppa är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jul 2010
Inlägg: 793
Kimppa Kimppa är inte uppkopplad
Mycket flitig postare
Kimppas avatar
 
Reg.datum: Jul 2010
Inlägg: 793
Standard Class/Methods för DIV

Hej,

Tänkte fråga experterna om hjälp.

Sitter och kliar mig i huvudet med OOP PHP och vill göra en sak som förmodligen
inte är optimal, men det är:

Citat:
<?php
$html = new Element;
$html->div_start("divnamn");

Kan jag lägga in andra klasser/methoder innanför denna HTML Class som jag enbart vill använda för att skapa dynamisk html (för ID etc)?

$html->div_end("divnamn");
?>
Jag måste ha allt väldigt organiserat när jag programmerar och det slutar ofta med att jag börjar om med ett helt projekt istället för att ordna till dålig kod.

Tacksam för all hjälp!
Kimppa är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-10-08, 19:14 #2
Kimppas avatar
Kimppa Kimppa är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jul 2010
Inlägg: 793
Kimppa Kimppa är inte uppkopplad
Mycket flitig postare
Kimppas avatar
 
Reg.datum: Jul 2010
Inlägg: 793
Standard Uppdaterad med lösnining

Jag kom fram till det jag ville efter många om och men.

Finns det fördelar med att programmera på detta sätt?
Jag försöker programmera någon variant av OOP PHP men samtidigt bygga någon typ av bas för framtida projekt så jag enkelt bara kan skriva ut diverse element, ge de namn och klasser etc etc.

Tar gärna emot synpunkter, reflektioner, mm.

Vad jag menar - Det är ju lätt när man väl har klasserna och metoderna på plats?
Men är arbetet bakom de verkligen värt det? Ni kan nog bara svara vad ni vill, har alltid så många funderingar.

Citat:
<?php

class Elements {

public $id;
public $p;

public function newDiv($id) {
echo ("<div id=\"$id\">\n");
}
public function endDiv() {
echo "</div>\n";
}

public function addParagraph($p) {
echo ("<p>$p</p>\n");
}

}

$html = new Elements;
$html->newDiv("namn");
$html->addParagraph("En paragraf.");
$html->endDiv();

?>
Printar HTML:
Citat:
<div id="namn">
<p>En paragraf.</p>
</div>
EDIT: Tog bort ID på slut-Diven men de kan ju va smart att ha en kommentar i form av <!--ID--> där så det kan läggas till igen sen.

Printar i browser:
En paragraf.

Senast redigerad av Kimppa den 2013-10-08 klockan 19:17
Kimppa är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-10-08, 19:31 #3
Kimppas avatar
Kimppa Kimppa är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jul 2010
Inlägg: 793
Kimppa Kimppa är inte uppkopplad
Mycket flitig postare
Kimppas avatar
 
Reg.datum: Jul 2010
Inlägg: 793
Förlåt kan någon ta bort denna tråd. Jag skriver en ny i Offentliga forumet. För jag är mer intresserad av reflektioner och synpunkter om andra är intresserade.

Ber om ursäkt för detta.
Kimppa är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-10-08, 19:37 #4
pelmereds avatar
pelmered pelmered är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2010
Inlägg: 1 342
pelmered pelmered är inte uppkopplad
Har WN som tidsfördriv
pelmereds avatar
 
Reg.datum: May 2010
Inlägg: 1 342
Det du vill skapa är alltså någon form av HTML helper?
Titta lite på HTML-helpern som finns i CodeIgniter och se hur de har gjort: http://ellislab.com/codeigniter/user...ml_helper.html
Se även deras form helper: http://ellislab.com/codeigniter/user...rm_helper.html

Där kan du nog få lite inspiration.

Form helpern tycker jag är ganska användbar, men HTML helpern tycker jag inte det är så stor poäng med.

Senast redigerad av pelmered den 2013-10-08 klockan 19:40
pelmered är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-10-08, 19:49 #5
Kimppas avatar
Kimppa Kimppa är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jul 2010
Inlägg: 793
Kimppa Kimppa är inte uppkopplad
Mycket flitig postare
Kimppas avatar
 
Reg.datum: Jul 2010
Inlägg: 793
Tack för tipsen! Ska ta en titt på de!

Har även startat ny tråd som är lite mer om synpunkter på hur man kan organisera sin kod:
http://www.wn.se/showthread.php?p=20478696

EDIT:
Ganska exakt det jag letade efter! Tackar och bockar!
Kimppa är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-10-09, 08:31 #6
hnn hnn är inte uppkopplad
Banned
 
Reg.datum: Mar 2004
Inlägg: 2 587
hnn hnn är inte uppkopplad
Banned
 
Reg.datum: Mar 2004
Inlägg: 2 587
Jag har försökt att använda olika "helpers" genom åren, man alltid slutat med att man skriver det för hand.

CodeIgniter har kommit en bit på vägen, men har aldrig använt HTML Helpern.
Däremot som ItIsGood skriver, så är Form Helpern riktigt bra.

Man får framförallt ta tidsperspektivet i åsikt. Hur mycket tid sparar du på att skriva en klass / helper jämnfört med att skriva det för hand.
hnn är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-10-09, 09:26 #7
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
Jag tycker personligen att det för det mesta är en ganska dålig idé att skriva ut HTML-kod på det här viset. Det blir framför allt lätt svåröverskådligt för andra personer som inte är insatta i ditt projekt. Att använda separata template-filer är betydligt trevligare. HTML-helpers av det där slaget är för det mesta bara ett aningen snyggare sätt att skriva ut HTML-kod direkt i "vanlig" icke objektorienterad PHP-kod
__________________
Full-stack developer, free for smaller assignments
tartareandesire är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-10-09, 13:15 #8
danjel danjel är inte uppkopplad
Medlem
 
Reg.datum: Nov 2003
Inlägg: 214
danjel danjel är inte uppkopplad
Medlem
 
Reg.datum: Nov 2003
Inlägg: 214
Jag brukar inte heller använda html helpers i större utsträckning.
Tips på lite schysst oo kod för detta ändamål:
http://www.sitepoint.com/the-open-closed-principle/
danjel är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 12:25.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017