Accueil > Forum > > > > Class Olivier extends Human
Class Olivier extends Human
mercredi 3 novembre 2010 à 02:42:08 |
Class Olivier extends Human

neigedhiver
|
Code PHP : <?php
/*
* Copyright (C) 2010 - Neigedhiver
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
namespace Animal;
class Human {
const STATE_PITIFUL = 'pitiful';
const STATE_TIRED = 'tired';
const STATE_THINKING = 'thinking';
const STATE_NO_SLEEPING_FOR_2_DAYS = 'almost dead';
}
/**
* This is me
* @author olivier
*
*/
class Olivier extends Human {
/**
* This is private == secret
* @var $age int
*/
private $age = 33;
/**
* Oh ! Really ?
* @var boolean
*/
protected $geek = TRUE;
/**
* The time I go to bed (UnixTimestamp)
* @TODO : Use DateTime
* @var $timeWentToBed int
*/
private $timeWentToBed;
/**
* Naturraly, no one can change this value !!
* @return boolean
*/
public function isGeek() {
return $geek;
}
public function __sleep() {
switch ($this -> state) {
case Human::STATE_THINKING:
case Human::STATE_PITIFUL:
$this -> waitBeforeSleep();
break;
case Human::STATE_NO_SLEEPING_FOR_2_DAYS:
$this -> closeEyes('45min', array($this -> openEyes(), $this -> waitBeforeSleep()));
break;
}
}
public function __wakeUp() {
if ($this -> hasAppoitment()) {
$this -> openEyes();
$this -> standUp();
$this -> state = Human::STATE_PITIFUL & Human::STATE_TIRED;
$this -> increaseAdrenaline('max');
$this -> mode = 'hurry';
}
else {
if ($this -> canEarAlarmClock()) {
$this -> shutTheFuckUp($this -> alarmClock);
}
elseif ($this -> mode !== 'dreaming') {
$this -> dream();
}
}
}
/**
* May I ever be able to sleep in less than 2 hours ?
*/
private function waitBeforeSleep() {
static $wait = 0;
// Can't really be 0...
0 === $wait && $wait = mt_rand(1,6);
// @TODO : use DateInterval and DatePeriod
while(time() > $this -> timeWentToBed + 3600*$wait) {
$this -> think() or $this -> worry();
// Every 30 minutes...
if ((time() - $this -> timeWentToBed) % 30 == 0) {
$this -> openEyes();
}
if ($wait > 2 && time() > $this -> timeWentToBed + 3600) {
$this -> standUp();
$this -> wear($this -> clothes);
$this -> computer -> screen -> powerOn();
$this -> writeDumbCode();
}
}
// Of course...
if ($wait > 2) {
$this -> state = Human::STATE_PITIFUL;
}
$wait = 0;
}
/**
* I wish I could live my dreams
*/
private function dream() {
static $dreams = array('superHeroe', 'meetGirls', 'fly', 'sleeping', 'rich', 'famous', 'writeMovies');
$this -> dream = mt_rand(0, count($dreams));
}
/**
* An important activity in my life
* @param $movie
*/
private function watchMovie(Movie $movie) {
$this -> mode = 'lazy';
if ($movie -> isBoring && $this -> eyesStatus === 'open') {
$this -> closeEyes(new Flock(5000));
}
if ($movie -> isReallyBoring && $this -> state = Human::STATE_PITIFUL) {
$this -> dream();
}
// Damn !!
Delay::forget($movie, strtotime('+2 months'));
}
/**
* Yesssss :)
* @param $flock How many sheeps are there ?
*/
private function closeEyes(Flock $flock) {
$count = 0;
foreach ($flock as $sheep) {
$count++;
}
}
/**
* Does it really work ?
* @return boolean
*/
private function canEarAlarmClock() {
$probability = $this -> state = Human::NO_SLEEP_FOR_2_DAYS ? 0.2 : 0.6;
return Random::headsOrTails($probability);
}
}
?>
--
Neige
Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
|
|
mercredi 3 novembre 2010 à 11:45:47 |
Re : Class Olivier extends Human

TychoBrahe
|
Salut,
Code PHP : <?php
include 'olivier.php';
$ol = new Animal\Olivier();
$sol = serialize($ol);
?>
Code : Notice: Undefined property: Animal\Olivier::$state in /path/to/olivier.php on line 63
Notice: serialize(): __sleep should return an array only containing the names of instance-variables to serialize in /path/to/olivier_test.php on line 5
olivier.php contenant ta classe et olivier_test.php étant le code juste au dessus.
|
|
mercredi 3 novembre 2010 à 12:02:31 |
Re : Class Olivier extends Human

neigedhiver
|
Arf, mince, c'est pour ça que je buggue tous les soirs dans mon lit...
--
Neige
Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
|
|
Cette discussion est classée dans : function, private, state, if, human
Répondre à ce message
Sujets en rapport avec ce message
Besoin d'analyse critique [ par zzzzzz ]
Yop,J'aurai besoin d'avis critique concernant une classe de connection mysql. Eventuel bugs/failles et idées pour la développer d'avantage.Voici la cl
Blocage google map api [ par gus_air ]
Bonjour, je débute sur les API googlemap et suis bloqué.En fait je cherche à placer sur une carte des marqueurs récupérés dans une base mysql.Certains
formulaire [ par Nadmy ]
bjr les gars é ben g fé un code pour reservation demenagement , dont un formulaire a remplir é g mi une dans une div en bas une calendrier pour choisi
le début d'un formulaire un peu spécial [ par craso ]
bonjour,il s'agit de la classe d'un formulaire validé par un input type=image, avec pour le moment une option : se déplacer ou combattre. Lorsque la b
Formulaire PHP, reponse dans une autre page... [ par sebarca ]
Bonjour, à tous, je pense que c'est mon premier post sur le forum malgré de nombreuses années de recherche sur celui-ci. Aujourd'hui je post un messag
Différence ente protected function, public function, private function et function [ par dvdstory ]
Bonjour à tous.Je n'arrive pas a trouver la différence entre "protected function" , "public <font color="
Aide formulaire php [ par syl1493 ]
Bonjour, J'essaie d'adapter un script d'envoi d'un formulaire d'inscription avec pièces jointes. J'ai réussi à mettre en place l'envoi de 2 pièces jo
Enlever lignes vide HTML [ par raven44 ]
Bonjour, Voilà mon problème, j'ai un fichier php qui me génère du code xml et qui me l'affichage à la fin. Le code est bon, il n'y a pas de soucis l
Custum plugging présentation de photos en full background [ par donzus ]
Bonjour, je cherche à transformer le pluging suivant: "Djuve" (Système de présentation d'images avec vignettes) voici un exemple de ce pluging: ex (
Update mysql impossible [ par SpaceHam ]
J'essaie via mysql (j'utilise le mysqli) d'updater ma table mais sans résultat. Je me suis tout de même basé sur une table utilisateur auquel j'update
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
XML ET PHPXML ET PHP par karouani
Cliquez pour lire la suite par karouani
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|