Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Optymalizacja -anonimowe zmienne oraz pętle
suchyMTW
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 4
Dołączył: 4.02.2011

Ostrzeżenie: (0%)
-----


Najpierw troszkę zobrazuje sytuację. Mam sobie blok kodu:

  1. //TODO: MENU
  2. try
  3. {
  4. $menus = $fcms->menu_getAll();
  5. foreach ($menus as $key => $value)
  6. {
  7. try
  8. {
  9. $menu = $fcms->menu_tree($key);
  10. $$value='<ul>';
  11. foreach ($menu as $key => $val)
  12. {
  13. if ($val['type'] == 'in-site')
  14. {
  15. $$value .= '<li><a href="' . $fcms->router_url('page', $val['href']) . '">' . $val['anchor'] . '</a></li>';
  16. }//if
  17. else
  18. {
  19. $$value .= '<li><a href="' . $val['href'] . '">' . $val['anchor'] . '</a></li>';
  20. }//else
  21. }//foreach
  22. $$value.= '</ul>';
  23. }//try
  24. catch (exception $e)
  25. {
  26. $$value = $e->getMessage();
  27. }//catch
  28. $fcms->tpl_putVar($value,$$value);
  29. }//foreach
  30. }//try
  31. catch (exception $e)
  32. {
  33. $page['content'] = $e->getMessage();
  34. }
  35.  
  36.  


Funkcja menu_getAll() zwraca tablicę w coś w takim schemacie:
  1. $menus[1] = 'nav_menu';
  2. $menus[2] = 'left_menu';
  3. //(...)
  4. $menus[mid]='n_menu'; //mid jest identyfikatorem który rozróżnia jakie linki przypisać do konkretnego menu


Funkcja menu_tree($mid) zwraca dane w podobny sposób:
  1. $menu[1]=array('mid'=>'1','anchor'=>'jakas tam nazwa', 'type' =>'in-site','href'=>'odnośnik');


Teraz pytania (IMG:style_emoticons/default/smile.gif)
1. Osobiście nie podobają mi się te dwie pętle - mimo że przewiduje tutaj bardzo małe tablice to i tak wolałbym to jakoś prościej (jak się da) zrobić. - jest na to jakiś sposób, bo niczego konkretnego nie znalazłem.
2. Użyłem w kodzie anonimowch funkcji, ale nie wiem czy one są wystarczająco szybkie. Zastanawiałem się, aby zamiast $$value dać $zmienna[$value] (nazwa value to zawartość elementu tablicy $menus), ale wtedy muszę jeszcze jedną pętlę dać, aby przekazać zawartość do prowizorycznego parsera (tutaj funkcja putVar()(IMG:style_emoticons/default/wink.gif)


Oraz aby nie nabijać sobie postów.
W swoim projekcie zamierzam wprowadzić proste moduły i który sposób ich ładowania będzie lepszy:
  1. (...)
  2. $func($parms);

czy raczej za pomocą funkcji w stylu call_user_func_array?

I na koniec mam zapisane w pliku ini hasło i nazwę użytkownika bez żadnego hashowania (md5 itp) czy jak przez httaccess zablokuje dostęp do pliku to będzie wystarczające zabezpieczenie, czy jednak lepszy będzie plik php o podobnej strukturze:
[php]
<?php
$user['name']='nazwa';
$user['password']='hasło w md5 lub czyms podobnym';
?>

(dodam, że w tym wypadku przechowywanie hasła w bazie odpada bo moim zdaniem nie warto robić tabeli dla jednego rekordu.

Z góry dzięki za odpowiedź (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 11:15