Bonjour,

J'utilise PHP en CLI et je débute la POO.

J'ai créé plusieurs class :
BDD pour gérer les requêtes sql,
Stream pour gérer l'affichage en CLI,
Machine pour gérer des scripts à envoyer sur diverses IP.

Dans ma classe machine, je voudrais me servir de Stream et de BDD..

J'ai essayé plusieurs méthodes mais je n'y arrive pas

script principal
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
<?php
include ("BDD.php");
include ("Stream.php");
include ("Machine.php");
 
$bdd = new BDD();
$stream = new Stream();
$machine = new Machine();
 
$machine->get_connected();
 
?>
script machine

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class Machine
{
	function get_connected()
	{
		$context = stream_context_create(array('http'=>array('timeout' => 2.0)));
 
		$shell = shell_exec("arp -a");
		// traitement du flux pour récupérer les IP dans un tableau
		foreach( $ip as $value )
		{
			echo $value;
			$url = 'http://'.$value;
			$handle = fopen($url, 'r', false, $context);
			if( $handle )
			{
				//ici appel de stream
				echo stream::format(" OK", "green");
				f_close($handle);
			}
			else
			{
				//ici appel de stream
				echo stream::format(" Timeout", "red");			
			}
		}
	}
}
Je voudrais créer l'objet Stream en 'global' dans la classe Machine, mais je n'y arrive pas.
Idem pour la classe BDD

Est-ce possible ? Si oui comment ?

Idem pour la resource contexte, j'aimerais la créer dans le __construct() et l'utiliser par la suite dans toutes les fonctions de ma classe mais je n'y arrive pas

Merci pour votre aide