Syntax error v namespace – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Syntax error v namespace – PHP – Fórum – Programujte.comSyntax error v namespace – PHP – Fórum – Programujte.com

 

fix0
Stálý člen
13. 9. 2021   #1
-
0
-

Ahoj, noob si hraje se jmennými prostory.

chybovka:

[Mon Sep 13 14:36:40.064901 2021] [:error] [pid 31575] [client 173.0.81.65:36683] PHP Parse error:  syntax error, unexpected 'App' (T_STRING), expecting \\\\ (T_NS_SEPARATOR) in /var/www//web/www/paypal/ipn/index.php on line 60

Řádek 60 je toto: namespace App\model;

Mám tu něco jako:

<?php
namespace App\Model;
require(dirname(__FILE__)."/../../../app/bootstrap.php"); // patri k nette

namespace Listener;
//blablabla zejména deklarace proměnných

require('PaypalIPN.php');

use PaypalIPN;

$ipn = new PaypalIPN();

$verified = $ipn->verifyIPN();

if ($verified) {
  
        if(isset($_SESSION["user_id"])){
            $user_id = intval($_SESSION["user_id"]);
        }else{
            $user_id = 0;$from_email_address);
        }
        
        namespace App\Model;

        $clientManager = new ClientManager($user_id);
        $clientManager->OrderPayPaypal($item_number, $payment_amount);

    }        

// blablabla odeslání mailoveho reportu
      
        echo "done";
        file_put_contents("paypal_".time()."_b.log","VERIFIED");
    } else {
        file_put_contents("paypal_".time()."_e.log","NOTVERIFIED");
    }
} else {
    file_put_contents("paypal_".time()."_e.log","FAILED");
}    
// Reply with an empty 200 response to indicate to paypal the IPN was received correctly.
header("HTTP/1.1 200 OK");

Snažím se na začáku používat jmenný prostor nette, potom přepnout na paypal IPN a pak se vrátit na nette, abych označil objednávku za uhrazenou. :-D

Ještě se mi podařilo vygooglit, že namespace lze použít takto:

namespace Neco {

  //blablabla, ale takto mi to nefunguje už vůbec :-D

}

Jaké je nejsložitější lego/puzzle na světě? Programování. :-D

Nahlásit jako SPAM
IP: 31.30.163.–
Kit+15
Guru
13. 9. 2021   #2
-
0
-

#1 fix
Tak ten řádek vyhoď, stejně nedává smysl.

Nahlásit jako SPAM
IP: 213.175.51.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
peter
~ Anonymní uživatel
4016 příspěvků
14. 9. 2021   #3
-
+1
-
Zajímavé
fix +

Nevim, co googlujes ty, ale prvni stranka vede na dokumentaci k php...
https://www.php.net/…mespaces.php

Proklikal bych si

Table of Contents ¶

Namespaces overview
Defining namespaces
Declaring sub-namespaces
Defining multiple namespaces in the same file
Using namespaces: Basics
Namespaces and dynamic language features
namespace keyword and __NAMESPACE__ constant
Using namespaces: Aliasing/Importing
Global space
Using namespaces: fallback to global function/constant
Name resolution rules
FAQ: things you need to know about namespaces

viz Kit, asi tam to namespace nedava moc smysl. Hned pod nim nas require, coz neni totez jako include. A v zapeti mas dalsi namespace. Cili to prvni namespace je prazdne :)

Nahlásit jako SPAM
IP: 2001:718:2601:258:40bd:54ac:5261:9f3f...–
Kit+15
Guru
14. 9. 2021   #4
-
+1
-
Zajímavé
fix +

#1 fix
V jednom souboru by se mělo vyskytovat nejvýše jedno namespace. Víc jich ani nepotřebuješ.

$clientManager = new \App\Model\ClientManager($user_id);
$clientManager->orderPayPaypal($item_number, $payment_amount);
Nahlásit jako SPAM
IP: 213.175.51.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
fix0
Stálý člen
15. 9. 2021   #5
-
0
-

1. První Namespace jsem též odebral. Nechal jsem jen ten Listener.

2. Upravil jsem na new \App\Model\ClientManager($user_id);

Úplně je mi líto, že mě to nenapadlo dříve a seru se s tím zbytečně takhle dlouho. Já to totiž už jednou takhle viděl, jen mi nedošlo, že teď to mohu použít také tak. :-) věřím, že to bude fungovat díky moc. :-)

Nahlásit jako SPAM
IP: 31.30.163.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 19 hostů

Podobná vlákna

Syntax error — založil Slim

Print syntax error — založil Akimi Keita

Syntax Error, ale prečo? — založil Roman

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý