Introduci obiectul PDO ca parametru pentru functia ta si de asemenea, poti sa te folosesti de type hinting, iti voi da un exemplu:
function setari_pagina(PDO $pdo) {
// corpul functiei, poti accesa $pdo aici
}
Type hinting presupune specificarea tipului unui parametru, in exemplul de mai sus am spus ca parametrul $pdo este de tipul PDO, cu alte cuvinte, trebuie sa fie o instanta a clasei PDO, astfel, te asiguri ca nu vei introduce altceva ca valoare pentru parametrul $pdo.
PHP - Totul despre functii
Variabilele globale creaza o vulnerabilitate in codul tau, fereste-te de asa ceva.
Iti voi da un exempu
<?php
$counter = 0;
function countBirds() {
global $counter;
return ++$counter . ' Birds <br>';
}
function countDogs() {
global $counter;
return ++$counter . ' Dogs <br>';
}
echo countBirds(); // se afiseaza 1 Birds
echo countDogs(); // se afiseaza 2 Dogs
In ambele functii eu folosesc $counter din contextul global, cu alte cuvinte, folosesc variabila $counter ce a fost declarata in exteriorul functiilor.Observi care este problema, variabila $counter si-a pastrat starea, aceasta fiind modificata atunci cand am apelat functia countBirds().Trebuia sa avem, de asemenea, “1 Dogs”, dar avem “2 Dogs”, acest lucru se intampla deoarece atunci cand am apelat functia countBirds(), am accesat variabila globala $counter si i-am adunat valoarea 1, la valoarea initiala.
Mai jos, introducand variabila $counter ca parametru pentru aceste functii, am scapat de folosirea ei ca variabila globala.
<?php
$counter = 0;
function countBirds($counter) {
return ++$counter . ' Birds <br>';
}
function countDogs($counter) {
return ++$counter . ' Dogs <br>';
}
echo countBirds($counter); // se afiseaza "1 Birds"
echo countDogs($counter); // se afiseaza "1 Dogs"
Nu stiu daca m-am facut inteles.
Variabilele globale sunt declarate in exteriorul corpului functiilor, in timp ce variabilele locale sunt declarate in interiorul corpului functiilor.Nu poti folosi o variabila globala in interiorul unei functii si nici viceversa.
Un articol scris de mine aici despre contextul in care variabilele sunt declarate si folosite.