• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z PHP OOP problem z funkcją

0 głosów
80 wizyt
pytanie zadane 20 marca w PHP, Symfony, Zend przez ThePatrykOOO Mądrala (6,030 p.)

Witam, właśnie przestawiam się z programowania strukturalnego na obiektowy. Wyskoczył mi taki błąd: Fatal error: Uncaught Error: Call to undefined function checkName() in

Mój kod:

<?php
require 'connect.php';
/**
* Obsługa całej strony
*/
class Page
{
	private function checkName($name)
	{
		$this->name = $name;
		$check = '/[a-ząęółśżźćń]+$/';
	    if(!preg_match($check, $name)) {
	      $allOK = false;
	      $_SESSION['ename'] = "Podane imie jest niepoprawne!";
	    }
	    echo $name;
	}
	public function restiger($name)
	{
		$this->name = $name;
		checkName($name);
	}
}
$page = new Page;
echo $page->restiger("Patryk");

Z góry dzięki za pomoc i wytłumaczenie

komentarz 20 marca przez Benek Nałogowiec (29,760 p.)

Ponadto co napisali koledzy, ciąg Patryk nie pasuje do wyrażenia regularnego, wypadałoby obsłużyć wielkie litery. Zamiast require użyj autoloadera i przestrzeni nazw. Rozbijaj projekt na odzielne pliki i zastosuj system szablonów Twig, by odseparować warstwę prezentacji od logiki.

2 odpowiedzi

+1 głos
odpowiedź 20 marca przez Bosswell Stary wyjadacz (11,100 p.)

private $name;

$this->name;

Nie masz takiej zmiennej jak $name. Nie zadeklarowałeś jej.


checkName($name)

$this->checkName();

Jeżeli już zdefiniujesz zmienną $this->name, to nie wysyłaj jej w parametrze.

$this->name = $name;

ta linika w funkcji checkName() jest zbędna 

 

0 głosów
odpowiedź 20 marca przez Arkadiusz Waluk Mędrzec (165,460 p.)
checkName($name);

Zapomniałeś $this->. Globalnie takiej funkcji nie ma, stąd należy powiedzieć, że chcemy odwołać się do metody w tym obiekcie.

Podobne pytania

0 głosów
1 odpowiedź 41 wizyt
pytanie zadane 25 marca w PHP, Symfony, Zend przez ThePatrykOOO Mądrala (6,030 p.)
0 głosów
2 odpowiedzi 77 wizyt
pytanie zadane 31 lipca 2016 w PHP, Symfony, Zend przez koder12345 Obywatel (1,000 p.)
+1 głos
3 odpowiedzi 171 wizyt
pytanie zadane 21 czerwca 2016 w PHP, Symfony, Zend przez Malolacik De Nowicjusz (190 p.)
...