Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Problem z singletonem
zoska2801
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 28.09.2015

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


Witam wszystkich. Mam takie pytanie. Z góry przestrzegam, żeby nie jeść i nie pić podczas czytania tego bo można się zadławić ze śmiechu (IMG:style_emoticons/default/facepalmxd.gif) Bo domyślam się, że pytanie może być banalne (IMG:style_emoticons/default/oneeyedsmiley02.png)
Dlaczego użycie tej klasy w jednym pliku działa, a po rozdzieleniu kodu klasy do innego pliku zwraca błąd Fatal error: Class 'PDOConnection' not found

klasy.php
  1. class PDOConnection {
  2.  
  3.  
  4. protected static $_instance = null;
  5.  
  6. public static function instance() {
  7.  
  8. if ( !isset( self::$_instance ) ) {
  9.  
  10. self::$_instance = new PDOConnection();
  11.  
  12. }
  13.  
  14. return self::$_instance;
  15. }
  16.  
  17.  
  18. protected function __construct() {}
  19.  
  20. function __destruct(){}
  21.  
  22.  
  23. public function getConnection($dsn, $username, $password) {
  24.  
  25. $conn = null;
  26. try {
  27.  
  28. $conn = new \PDO($dsn, $username, $password);
  29.  
  30.  
  31. $conn->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
  32.  
  33. return $conn;
  34.  
  35. } catch (PDOException $e) {
  36.  
  37.  
  38. throw $e;
  39.  
  40. }
  41. catch(Exception $e) {
  42.  
  43.  
  44. throw $e;
  45.  
  46. }
  47. }
  48.  
  49.  
  50. public function __clone()
  51. {
  52. return false;
  53. }
  54. public function __wakeup()
  55. {
  56. return false;
  57. }
  58. }


index.php (ten sam katalog)
  1. require 'klasy.php';
  2. $pdo = PDOConnection::instance();
  3. $conn = $pdo->getConnection( 'dns', 'user', 'pass' );
  4.  
  5. $results = $conn->query("SELECT id,opis FROM tabela");
  6. echo '<ul>';
  7. foreach($results as $row)
  8. {
  9. echo '<li>'.$row['id'].': '.$row['opis'].'</li>';
  10. }
  11.  
  12. echo '</ul>';


Ten post edytował zoska2801 28.09.2015, 05:32:12
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zoska2801
post
Post #2





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 28.09.2015

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


Tylko to się wyświetla
  1. Array ( [0] => index.php [1] => klasy.php ) Fatal error: Class 'PDOConnection' not found in /www/klasy/index.php on line 4
Go to the top of the page
+Quote Post
KsaR
post
Post #3





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

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


Cytat(zoska2801 @ 28.09.2015, 06:37:33 ) *
Tylko to się wyświetla
  1. Array ( [0] => index.php [1] => klasy.php ) Fatal error: Class 'PDOConnection' not found in /www/klasy/index.php on line 4

A w tym drugim pliku?
Bo jak sama widzisz masz 2 pliki php w folderze:

1. index.php
2. klasy.php

Czyli jesli zrobisz w index.php
include 'klasy.php';
To bedzie w nim dzialac oczywiscie bo jest tam plik klasy.php
Ale jak widac innych plikow nie ma.
Sprawdz dokladnie w jakiej sciezce jest drugi plik, nastepnie sprawdz na FTP czy co tam masz czy faktycznie jest tam ten plik. (Bo nie ma w tym folderze gdzie index.php, klasy.php)
A nastepnie popraw sciezke wskazujac na odpowiedni plik w tym drugim (na klasy.php).

Gdybys miala problem to pokaz cala strukture, gdzie jest plik ktory nie dziala, oraz gdzie klasy.php
Wraz z nazwami plikow tymi co wyzej oraz z nazwami folderów.

Ten post edytował KsaR 28.09.2015, 05:47:49
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: 11.10.2025 - 13:35