Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ustawianie danych połączeniowych bazy z formularza.
szubi95
post
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 3.06.2012

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


Witam wszystkich!

Jakiś czas temu, pytałem który format jest lepszy do przechowywanie danych połączeniowych z bazą: json, xml, ini, czy zwykły php.
Dzisiaj na szybko naskrobałem pseudo klasę(zarys, bez sprawdzania poprawności danych i kilku innych rzeczy). Czy mógłby mi ktoś powiedzieć, czy pomysł jest dobry, czy można by w jakiś inny sposób zapisywać same dane np. do istniejącej już tablicy. tzn:

Mamy plik config.php a w nim:

  1. <?php
  2.  
  3. $data['host'] = ' ';
  4. $data['user'] = ' ';


i teraz w miejsce pustych apostrofów dodawać bezpośrednio dane konfiguracyjne.

Cała koncepcja tyczy się, tak jak wspomniałem w temacie instalacji jakiegoś systemu ze strony poprzez formularz, bez grzebania w plikach.

A tak napisałem obecnie(cały plik nadpisywany jak widać):

  1.  
  2. <?php
  3.  
  4. class DbData
  5. {
  6. private $fileName;
  7. private $host;
  8. private $user;
  9. private $password;
  10. private $database;
  11. private $config;
  12.  
  13. public function __construct($host, $user, $password, $database)
  14. {
  15. $this->setHost($host);
  16. $this->setUser($user);
  17. $this->setPassword($password);
  18. $this->setDatabase($database);
  19. $this->createArray();
  20. $this->setToFile('config.php');
  21. }
  22.  
  23. private function setToFile($fileName)
  24. {
  25. $this->fileName = $fileName;
  26. if (file_exists($this->fileName)) {
  27. file_put_contents($this->fileName, $this->config, FILE_TEXT | LOCK_EX);
  28. }
  29. }
  30.  
  31. private function createArray()
  32. {
  33. $this->config = '<?php $data = [
  34. \'host\' => \''.$this->host.'\',
  35. \'user\' => \''.$this->user.'\',
  36. \'password\' => \''.$this->password.'\',
  37. \'database\' => \''.$this->database.'\',
  38. ];';
  39. }
  40.  
  41. protected function setHost($host)
  42. {
  43. $this->host = $host;
  44. }
  45.  
  46. protected function setUser($user)
  47. {
  48. $this->user = $user;
  49. }
  50.  
  51. protected function setPassword($password)
  52. {
  53. $this->password = $password;
  54. }
  55.  
  56. protected function setDatabase($database)
  57. {
  58. $this->database = $database;
  59. }
  60. }
  61.  
  62. $a = new DbData('localhost', 'root', '', 'db');
  63.  



Pozdrawiam,
szubi
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
szubi95
post
Post #2





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 3.06.2012

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


One nie mają być edytowalne/nadpisywalne. Jedyne do czego ja to potrzebuję, to do instalacji systemu jak wcześniej wspomniałem. Czyli najprostsza instalacja jaka chyba może być dla każdego. Po zainstalowaniu systemu plik ten będzie po prostu usuwany, żeby nie można było nadpisywać danych itp.

Dzięki za funkcję var_export (IMG:style_emoticons/default/smile.gif) Ułatwiło życie (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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: 28.09.2025 - 22:00