par
chegmarco » 23 mars 2021, 22:44
Bonjour.
J'ai deux petit et j'aimerais que vous m'éclairiez.
1 - Comment récupérer une
CONSTANTE de plusieurs lignes définie dans une classe en
PHP-POO ??? Je voudrais utiliser la fonction
PUNCT de la ligne 4 sur la
ligne 21 de mon code ci-après:
Code : Tout sélectionner
class PhraseParser
{
define('PUNCT', "\.|\,|\:|\;|\"|\'|\[|\/|\%|\?|-|" .
"\]|\{|\}|\(|\)|\!|\||।|\&|\`|" .
"\’|\‘|©|®|™|℠|…|\/|\>|,|\=|。|)|:|、|" .
"”|“|《|》|(|「|」|★|【|】|·|\+|\*|;".
"|!|—|―|?|!|،|؛|؞|؟|٪|٬|٭");
/**
* If that many exist, the minimum number of results to get
* and group before trying to compute the top x (say 10) results
*/
define('MIN_RESULTS_TO_GROUP', 200);
/** locale sub-namespace */
define('NS_LOCALE', NS . "locale\\");
public static function removePunctuation($sentences)
{
if (is_array($sentences)) {
foreach ($sentences as $key => $sentence) {
$sentences[$key] = trim(preg_replace('/[' . PUNCT . ']+/iu',
' ', $sentence));
}
}
return $sentences;
}
QUESTION 1: Comment donc récupérer au niveau de la
ligne 21, cette constante
PUNCT définie sur la
ligne 4 ???
2 - Mon deuxième souci est similaire au premier à une petite différence prêt. En fait, j'ai créé une fonction
getBot() dans la classe suivante. Mais je souhaiterais récupérer la valeur retournée par cette fonction dans un tableau du
constructeur de la classe contenant cette même méthode
getBot au lieu de réécrire la même valeur comme je l'ai fait dans le code ci-après:
Code : Tout sélectionner
class DomDocumentParser {
private $doc;
public function __construct($url) {
$options = array(
'http'=>array(
'method'=>"GET",
'header'=>"User-Agent: hBot/0.1\n"
)
);
$context = stream_context_create($options);
$this->doc = new DomDocument('1.0', 'UTF-8');
@$this->doc->loadHTML(@file_get_contents($url, false, $context));
}
// Create an array of all of the "a" tags.
public function getBot() {
return "hBot/0.1";
}
QUESTION 2: Comment appeler la méthode
getBot() au niveau du
User-agent de la
ligne 7 de mon code ci-dessus ???
Eclairez-moi s'il vous plaît sur ces deux point très importants pour moi car je suis confus à l'utilisation des appels de constantes et méthodes dans mon cas.
Bonjour.
J'ai deux petit et j'aimerais que vous m'éclairiez.
[B]1 -[/B] Comment récupérer une [B]CONSTANTE[/B] de plusieurs lignes définie dans une classe en [B]PHP-POO[/B] ??? Je voudrais utiliser la fonction [B]PUNCT[/B] de la ligne 4 sur la [b]ligne 21[/b] de mon code ci-après:
[CODE]class PhraseParser
{
define('PUNCT', "\.|\,|\:|\;|\"|\'|\[|\/|\%|\?|-|" .
"\]|\{|\}|\(|\)|\!|\||।|\&|\`|" .
"\’|\‘|©|®|™|℠|…|\/|\>|,|\=|。|)|:|、|" .
"”|“|《|》|(|「|」|★|【|】|·|\+|\*|;".
"|!|—|―|?|!|،|؛|؞|؟|٪|٬|٭");
/**
* If that many exist, the minimum number of results to get
* and group before trying to compute the top x (say 10) results
*/
define('MIN_RESULTS_TO_GROUP', 200);
/** locale sub-namespace */
define('NS_LOCALE', NS . "locale\\");
public static function removePunctuation($sentences)
{
if (is_array($sentences)) {
foreach ($sentences as $key => $sentence) {
$sentences[$key] = trim(preg_replace('/[' . PUNCT . ']+/iu',
' ', $sentence));
}
}
return $sentences;
}
[/CODE]
[B][U]QUESTION 1[/U]:[/B] Comment donc récupérer au niveau de la [b]ligne 21[/b], cette constante [B]PUNCT[/B] définie sur la [b]ligne 4[/b] ???
[B]2 -[/B] Mon deuxième souci est similaire au premier à une petite différence prêt. En fait, j'ai créé une fonction [B]getBot()[/B] dans la classe suivante. Mais je souhaiterais récupérer la valeur retournée par cette fonction dans un tableau du [B]constructeur[/B] de la classe contenant cette même méthode [B]getBot[/B] au lieu de réécrire la même valeur comme je l'ai fait dans le code ci-après:
[CODE]class DomDocumentParser {
private $doc;
public function __construct($url) {
$options = array(
'http'=>array(
'method'=>"GET",
'header'=>"User-Agent: hBot/0.1\n"
)
);
$context = stream_context_create($options);
$this->doc = new DomDocument('1.0', 'UTF-8');
@$this->doc->loadHTML(@file_get_contents($url, false, $context));
}
// Create an array of all of the "a" tags.
public function getBot() {
return "hBot/0.1";
}[/CODE]
[B][U]QUESTION 2[/U]:[/B] Comment appeler la méthode [B]getBot()[/B] au niveau du [B]User-agent[/B] de la [B]ligne 7[/B] de mon code ci-dessus ???
Eclairez-moi s'il vous plaît sur ces deux point très importants pour moi car je suis confus à l'utilisation des appels de constantes et méthodes dans mon cas.