2015-10-16 4 views
1

Je souhaite utiliser la tâche par multi-thread. J'ai écrit le code de lot de test (tâche) suivant.pthreads ne fonctionne pas sur la tâche fuelphp

carburant/app/tâches/Test.php

<?php 
namespace Fuel\Tasks; 

class Test 
{ 
    public static function run() 
    { 
     // worked 
     \Foo_Bar::insert(10); 

     $bar = new \Foo_Bar(); 

     // worked 
     $bar->run(); 

     // not worked!!(Error: Class 'DB' not found) 
     $bar->start(); 
     $bar->join(); 
    } 
} 

carburant/app/classes/foo/bar.php

<?php 
class Foo_Bar extends Thread 
{ 
    public static function insert($i) 
    { 
     DB::insert('test')->set(array(
      'i' => $i, 
     ))->execute(); 
    } 

    public function run() 
    { 
     $this->insert(20); 
    } 
} 

Seulement en fil, classe DB introuvable. Pourquoi ne pas travailler? S'il vous plaît aidez-moi. Merci.

+0

Veuillez corriger l'orthographe de "problem" dans votre titre. Lisez et comprenez le message d'erreur qui s'ensuit. De plus, j'ajouterais "PHP" comme tag. Cela dit, est-ce que le problème est lié au filetage ou est-ce que cela arrive aussi si vous appelez directement la fonction? Je suppose que vous avez seulement besoin d'ajouter les instructions 'require' ou de configurer l'autochargeur correctement. –

+0

J'ai corrigé l'orthographe et ajouté une balise PHP. Je vous remercie. Je suis désolé pour mon mauvais anglais. – toshi210

Répondre

0

J'ai essayé votre code si votre erreur est DB Class ne fonctionne pas sur votre thread. Veuillez ajouter "\" avant le nom de la classe. Exemple

\DB::insert