CodeIgniter

Sziasztok!

Van itt valaki aki rutinos a keretrendszer használatában és lenne kedve inni pár sört Pesten?

Hozzászólások

Mit szeretnél tudni? Mi nem megy?

Szia!

Van pár dolog ami le kell kódolnom saját részre. Üzemeltetek inkább, de eddig is megoldottam a saját életem könnyítendő néhány problémát. Viszont most lesz olyan amit nem csak én használok így szükségszerű lesz a beviteli mezők ellenőrzése, egyéb más dolgok vizsgálata stb. ( csak a saját dolgoknál lehettem viszonylag trehány és elhagytam ezeket, de most nem lehet ) és lehet célravezetőbb és gyorsabb ha megbarátkozok valamelyik keretrendszerrel. Nem ragaszkodom ehhez, ha van előnyösebb. Tegnap elég sokat olvasgattam utána, ahogy látom tökéletes ebből sincs, inkább a feladat méretéhez és összetettségéhez kell a legalkalmasabbat keresni. Amit én most csinálni akarok gyakorlatilag nyilvántartások, tehát adatbázisba adat be, táblázat formátumban megjeleníteni, szerkesztési lehetőséget adni.
Valakivel szívesen leülnék egy-két órára aki magáról az alapokról és szemléletről mesél kicsit.

Ja, értem. Akkor először is a user guide-ot ajánlom, egész jól le vannak írva a dolgok (márminthogy egész könnyen érthető).
Beviteli mezők ellenőrzése: validation class.
Adatbázis lekérdezések: Active Record class.
Táblázatokhoz: HTML Table class.

Én is megértettem, gyakorlatilag nulla php alappal, szóval biztos neked is menni fog ;)

Ha meg valamiben elakadsz, majd kérdezel. Sajnos nem budapesti vagyok, így az összeülős-sörözős-magyarázkodós hepaj nem olyan könnyen kivitelezhető.

Átnéztem a validation juzergájdot. (mindig a form kezelést szoktam megnézni ha gyors véleményt akarok alkotni), és pl. nem látom a leírtak alapján, h egy olyan triviális esetet, mint mondjuk amikor a regisztrációnál biztonság kedvéért kétszer kell bekérni a jelszót, hogy lehetne ellenőrizni? Tehát egy olyan szabályra lenne szükség ami a password1 és a password2 mező értékét összehasonlítja és ha nem egyeznek akkor hibát jelez. A helyzet még annyival bonyolultabb, hogy a beállított filtereknek (normál esetben pre-filtereknek) már az összehasonlítás előtt le kell futnia (pl trim).
Ahogy látom saját szabályt csak az egyes beviteli mezőkhöz lehet felállítani és nem lehet olyat h pl. $this->form_validation->set_group_rules(array('password1','password2'), 'sajat_ellenorzo'), ami mondjuk lehetővé tenné ezt a funkcionalitást. Még lehetne az, ilyen móricka módszerként, h az eredeti elképzelésnek megfelelően egy adott mezőhöz beállított saját ellenőrző függvényben, nem csak az adott mező értéke lenne elérhető, hanem teljes a form kontextus, és akkor abból kibányászva lehetne elvégezni az összehasonlítását a két mezőnek. Ilyesmi volt régebben a ZF1-ben asszem, de ez egyrészt nem túl elegáns, másrészt kérdéses, hogy ilyen esetben elérhető-e az összehasonlítani kívánt mezők filterezett értéke. Hisz 'jelszavam' nem szerencsés a ' jelszavam ' -mal összehasonlítani. (Mondjuk lehet h épp a jelszó filterezése nem a legjobb ötlet, de a probléma szempontjából ez most mellékes.)

Átnéztem a validation juzergájdot. (mindig a form kezelést szoktam megnézni ha gyors véleményt akarok alkotni), és pl. nem látom a leírtak alapján, h egy olyan triviális esetet, mint mondjuk amikor a regisztrációnál biztonság kedvéért kétszer kell bekérni a jelszót, hogy lehetne ellenőrizni?

Akkor nem nézted át rendesen a "juzergájdot", mivel gyakorlatilag pont ezt a példát írja le:

$this->form_validation->set_rules('password', 'Password', 'required|matches[passconf]');
$this->form_validation->set_rules('passconf', 'Password Confirmation', 'required');

Ahogy látom saját szabályt csak az egyes beviteli mezőkhöz lehet felállítani és nem lehet olyat h pl. $this->form_validation->set_group_rules(array('password1','password2'), 'sajat_ellenorzo'), ami mondjuk lehetővé tenné ezt a funkcionalitást.

Ez a rész megvolt?

Köszi! Valóban nem vettem észre "matches[passconf]" részt.

"Ez a rész megvolt?"

Háát őőő igen, megvolt! Lehet h rosszul látok, de itt szerintem pusztán csak arról van szó, h eltérő módszerrel (tömbös konfiggal) is be lehet állítani a szabályokat, és nem arról amit én hiányoltam. A "matches[passconf]" azt mutatja, h van rá mechanizmus, h egy ellenőrző szabályba elérhető legyen egy másik beviteli mező értéke is.
A szintaxis alapján valami ilyesmi példát hiányolok:

$this->form_validation->set_rules('field1', 'Field1', 'call_back_grouprule[field2,field3,field4]');

public function grouprule($field1, $field2, $field3, $field4) {

//TODO
}

Ja, értelek. Márhogy olyat akarsz, hogy egy érték helyessége függjön egy másik értéktől, nem pedig egy foreach-et vagy lusta megírni, hogy több elemre is ugyanaz a szabály legyen :)
Szerintem akkor valami ilyesmi kell:

To invoke a callback just put the function name in a rule, with "callback_" as the rule prefix. If you need to receive an extra parameter in your callback function, just add it normally after the function name between square brackets, as in: "callback_foo[bar]", then it will be passed as the second argument of your callback function.

Tehát a te esetedben (értelmezésem szerint) callback_grouprule[field2,field3,field4]-et kell megadni. Gondolom, a mathes[passconf] is ezen az elven működik.

Jajj, ez az a keretrendszer amihez soha többet nem nyúlok.

Nekem az ActiveRecord nemigen tetszik, elég sok hiba volt benne (nem tudom, hogy most milyen állapotban van). Pl. ez vagy ez. Másrészt allekérdezéseket nem kezel.
A view-ek írásának módja se annyira szimpatikus (a php-html katyvaszra gondolok).

Hirtelenjében ennyire emlékszem (már egy ideje nem használom).

Járatos sajnos nem vagyok viszont a téma érdekel + helyileg bp. (sub)
-.-'