• 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
78 wizyt
pytanie zadane 3 dni temu w PHP, Symfony, Zend przez użytkownika ThePatrykOOO Mądrala (5,490 punkty)

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 3 dni temu przez użytkownika Benek Nałogowiec (29,560 punkty)

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ź 3 dni temu przez użytkownika Bosswell Dyskutant (9,420 punkty)

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ź 3 dni temu przez użytkownika Arkadiusz Waluk Mędrzec (162,900 punkty)
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
2 odpowiedzi 77 wizyt
pytanie zadane 31 lipca 2016 w PHP, Symfony, Zend przez użytkownika koder12345 Obywatel (1,000 punkty)
+1 głos
3 odpowiedzi 168 wizyt
pytanie zadane 21 czerwca 2016 w PHP, Symfony, Zend przez użytkownika Malolacik De Nowicjusz (190 punkty)
0 głosów
1 odpowiedź 51 wizyt
pytanie zadane 1 dzień temu w PHP, Symfony, Zend przez użytkownika ThePatrykOOO Mądrala (5,490 punkty)
...