quello che C++ chiama Template Class si chiama Tipi Generici in altri linguaggi
considerando che PHP non è fortemente tipizzato, puoi fare la tua classe stack come ti pare con la solita sintassi
class Stack{
}
oppure
interface Stack{
}
se poi vuoi creare implementazioni particolari a seconda dei tipi passati
Cmq, se il problema è un altro, allora perchè parlare di classi template?