Bonsoir à tous, je m'appelle Dan et je suis nouveau sur le forum.
Je cherche à appeler une classe spécifique contenant les informations de mon panier depuis un script Paypal extérieur.
J'ai donc suivi le tutoriel de Grafikart sur l'autoloader de composer mais j'ai rencontré une erreur.
(A noter : j'ai également téléchargé l'extension "PHP Namespace Resolver" mais il ne trouve pas mes class et me renvoie "The class is not found"
Voici mon code composer.json
{
"name": "dan/shop",
"description": "pour shop",
"authors": [
{
"name": "dan",
"email": "daniel@gmail.com"
}
],
"autoload": {
"psr-4": {
"App\\": "pages/"
}
},
"require": {}
}
Voici un extrait mon script panier.php au niveau de la classe Panier
<?php
namespace App;
require_once("../include/header.php");
require_once("../include/functions_panier.php");
class Panier{
public $nbProduits;
public $total;
public $totaltva;
public $shipping;
public function myshop(){
$nbProduits = count($_SESSION['panier']['libelleProduit']);
if($nbProduits <= 0){
?>
<li class="list-group-item d-flex justify-content-between lh-condensed">
<div>
<h6 class="my-0" style="color:Red;">Oups, panier vide !</h6>
</div>
</li>
<?php
}else{
$total = MontantGlobal();
$totaltva = MontantGlobalTVA();
$shipping = CalculFraisPorts();
for($i = 0; $i<$nbProduits; $i++){
?>
<li class="list-group-item d-flex justify-content-between lh-condensed">
<div>
<h6 class="my-0"><?php echo $_SESSION['panier']['libelleProduit'][$i]; ?></h6>
<small class="text-muted"><b><i>Quantité: <?php echo $_SESSION['panier']['qteProduit'][$i]; ?></i></b></small>
<a href="panier.php<?php echo "?id=".$_SESSION['id']; ?>&action=suppression&l=<?php echo rawurlencode($_SESSION['panier']['libelleProduit'][$i]); ?>"><small class="text-warning">Supprimer l'article</small></a>
</div>
<span class="text-muted"><?php echo $_SESSION['panier']['prixProduit'][$i]." $"; ?></span>
</li>
<?php
}
?>
<li class="list-group-item d-flex justify-content-between lh-condensed">
<div>
<h6 class="my-0">Total :</h6>
</div>
<span class="text-muted"><?php echo $total." $"; ?></span>
</li>
<li class="list-group-item d-flex justify-content-between lh-condensed">
<div>
<h6 class="my-0">Calcul des frais de port :</h6>
</div>
<span class="text-muted"><?php echo $shipping." $"; ?></span>
</li>
<li class="list-group-item d-flex justify-content-between">
<span>Total avec TVA (USD)</span>
<strong><?php echo $totaltva." $"; ?></strong>
</li>
<li class="list-group-item d-flex justify-content-between bg-light">
<div class="text-success">
<h6 class="my-0">Promo code</h6>
<small>EXAMPLECODE</small>
</div>
<span class="text-success">-5$</span>
</li>
</ul>
<form class="card p-2">
<li class="list-group-item d-flex justify-content-between">
<span>TVA</span>
<strong><?php echo $_SESSION['panier']['tva']."%"; ?></strong>
</li>
</form>
</br>
<form class="card p-2">
<div class="input-group">
<input type="text" class="form-control" placeholder="Promo code">
<div class="input-group-append">
<button type="submit" class="btn btn-secondary">Redeem</button>
</div>
</div>
</form>
</br>
<form class="card p-2">
<li class="list-group-item d-flex justify-content-between">
<span></span>
<a href="panier.php<?php echo "?id=".$_SESSION['id']; ?>&deletepanier=true"><span class="text-danger"><strong>Supprimer le panier</strong></span></a>
</li>
</form>
<?php
}
}
public function info(){
$nbProduits = count($_SESSION['panier']['libelleProduit']);
$total = MontantGlobal();
$totaltva = MontantGlobalTVA();
$shipping = CalculFraisPorts();
}
}
?>
Voici un extrait du script paiement.php depuis lequel j'appelle la classe Panier
<?php
require __DIR__ . '/pay/vendor/autoload.php';
require __DIR__ . '/functions_panier.php';
$ids = require ('fonction_api.php');
require 'vendor/autoload.php';
use App\Panier;
$valeur = new Panier();
?>
Et enfin voici les deux erreurs que je reçois
Warning: require_once(../include/header.php): failed to open stream: No such file or directory in C:\wamp64\www\vinted_africain\pages\panier.php on line 3
Fatal error: require_once(): Failed opening required '../include/header.php' (include_path='.;C:\php\pear') in C:\wamp64\www\vinted_africain\pages\panier.php on line 3
Je pense que normalement je n'aurais pas dû avoir d'erreur et au moins avoir un page blanche de redirection puisque cette classe ne sert qu'à relever des valeurs stockées dans des variables via la public function info().
Merci d'avance pour vos réponses !