|
Besoin d'un développeur PHP/Zend Framework ? Contactez moi
Réactivité, interlocuteur unique.
Maxence DELANNOY - Tél. : 09.70.46.32.55
|
|
|
25
août
2010
|
__invoke est une nouvelle méthode magique introduite par PHP 5.3. En bref, elle permet d'appeler un objet comme si c'était une fonction. Cette fonctionnalité est utilisée dans plusieurs classes du ZF2 comme les filtres. Voici un petit exemple avec Zend\Filter\Boolean :
Libellés : PHP, Zend Framework
|
|
24
août
2010
|
Envie de tester la prochaine version du framework ? Suivez ces différentes étapes pour mettre rapidement en place un premier projet sur Windows :
Libellés : Zend Framework
|
|
10
août
2010
|
using Microsoft.Win32; RegistryKey rkcu = Registry.CurrentUser; RegistryKey rk = rkcu.CreateSubKey(@"\Software\Société\Produit"); // Ecrit la valeur dans le registre rk.SetValue("Date", DateTime.Now.ToBinary(), RegistryValueKind.QWord); // Lit la valeur depuis le registre DateTime d = null; object oDate = rk.GetValue("Date"); if (oDate != null) d = DateTime.FromBinary((long)oDate); |
|
29
juil
2010
|
.NET dispose d'une fonctionnalité qui permet d'exécuter du code sous un autre nom d'utilisateur que celui qui a lancé le programme à l'origine (une sorte de RUNAS). C'est un peu compliqué à utiliser car il faut notamment P/Invoker des fonctions de l'API Windows. Voici un portage du code C# originellement publié par Michiel van Otegem en VB.NET. Cette classe permet de simplifier le basculement de contexte. |
|
20
juil
2010
|
Oui, je sais c'est pas souvent qu'on doit faire ce genre d'opération, mais en travaillant avec MongoDB, je suis tombé sur la problématique suivante : dans MongoDB, l'identifiant des documents générés automatiquement se nomme _id. Pour conserver le nom de clé primaire que j'utilise habituellement avec des SGBDR classiques (id), je suis amené à devoir renommer une clé d'un tableau. J'ai procédé ainsi : // Crée une nouvelle clé avec le contenu de l'ancienne $data['id'] = $data['_id']; // Supprime l'ancienne unset($data['_id']); Pas super élégant, mais ça fonctionne. Vous avez mieux ?
Libellés : PHP
|
|
15
juil
2010
|
Avec .NET, on peut obtenir la version de Windows avec le code suivant : Dim osVersion As String = Environment.OSVersion.VersionString |
|
06
juil
2010
|
Je suis un grand fan des applications Google, notamment Gmail dont je ne peux me passer. Ce dernier a cependant un énorme défaut, il refuse systématiquement d'envoyer des exécutables (.exe, .bat...) en pièces jointes. Au lieu de scanner les fichiers pour s'assurer qu'ils ne contiennent pas de virus, les équipes de Google on choisit tout simplement la solution radicale qui consiste à exclure les fichiers sur la base de leur extension. Le fait de placer les fichiers dans une archive Zip ne change rien à l'affaire, car ces dernières sont également passées à la loupe. Généralement, je change l'extension et j'explique au destinataire qu'il doit renommer le fichier. On peut également utiliser le format RAR car ce dernier n'est pas scanné par Gmail. Le problème c'est que le seul logiciel à ma connaissance qui permettent de créer des archives RAR (WinRAR pour ne pas le nommer) est payant. J'ai trouvé une solution alternative avec 7zip. Il suffit de créer une archive au format 7z cryptée en prenant soin de cocher la case Crypter les noms de fichiers. Gmail ne pouvant pas consulter la liste des fichiers, il autorise l'envoi.
|
|
04
jun
2010
|
En C#, il y une fonctionnalité que j'apprécie particuliérement. C'est la possibilité de définir des propriétés : class MyClass { protected string _myProperty; public string MyProperty { get { return _myProperty.ToUpper(); } set { _myProperty = value; } } } |
|
21
apr
2010
|
J'ai pas trouvé mieux : Dim doc As XmlDocument = New XmlDocument() Dim sr As StreamReader = New StreamReader(path, ASCIIEncoding.Default) Dim xr As XmlReader = XmlReader.Create(sr) doc.Load(xr) ' Traitement xr.Close() sr.Close() |
|
04
mar
2010
|
Il faut passer la propriété DrawMode de la ListBox à OwnerDrawFixed et ajouter le code suivant dans l'événement OnDraw : private void listBox1_DrawItem(object sender, DrawItemEventArgs e) { e.DrawBackground(); e.DrawFocusRectangle(); ListBox lb = sender as ListBox; // Calcule les dimensions du texte SizeF stringSize = new SizeF(); stringSize = e.Graphics.MeasureString(lb.Items[e.Index].ToString(), e.Font); e.Graphics.DrawString( lb.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), new PointF(e.Bounds.Right - stringSize.Width, e.Bounds.Y) ); } Si ça peut faire gagner 5 minutes à quelqu'un...
Libellés : C#
|


