<div>Hi,</div><div><span style="color: rgb(160, 160, 168); "><br></span></div><div><span style="color: rgb(160, 160, 168); ">On Tuesday, 18 June 2013 at 5:46 PM, Madhura Jayaratne wrote:</span></div>
                <blockquote type="cite" style="border-left-style:solid;border-width:1px;margin-left:0px;padding-left:10px;">
                    <span><div><div><div dir="ltr"><br><div><br><br><div>On Tue, Jun 18, 2013 at 2:04 PM, Ayush Chaudhary <span dir="ltr"><<a href="mailto:ayushchd@gmail.com" target="_blank">ayushchd@gmail.com</a>></span> wrote:<br><blockquote type="cite"><div>
                <div>Hi, 
                </div><div><br></div><div>I was writing some unit tests for the native string functions. However, since some of the functions are declared twice (with different implementations), for e.g., PMA_strlen, PMA_strpos, etc. have different implementations in string_mb.lib.php and string_native.lib.php, it causes phpunit to throw fatal errors of the form "Cannot redeclare function … already declared in …"</div>
<div><br></div><div>Possible solutions could be to use namespaces or to use polymorphism in some way.</div><div><br></div></div></blockquote><div style="">How do you plan to use polymorphism to overcome this? </div></div></div></div></div></div></span></blockquote><blockquote type="cite" style="border-left-style:solid;border-width:1px;margin-left:0px;padding-left:10px;"><span><div><div><div dir="ltr"><div><div><div style="">Another way around would be to put these functions into classes and instantiate an object of the correct type. </div></div></div></div></div></div></span></blockquote><blockquote type="cite" style="border-left-style:solid;border-width:1px;margin-left:0px;padding-left:10px;"><span><div><div><div dir="ltr"><div><div><div style=""></div><div style="">I'd like to know opinion from others as well.</div></div><div><br></div>-- <br>Thanks and Regards,<div><br></div><div>Madhura Jayaratne<br><div><br></div></div>
</div></div>
</div><div><div>------------------------------------------------------------------------------</div><div>This <a href="http://SF.net">SF.net</a> email is sponsored by Windows:</div><div><br></div><div>Build for Windows Store.</div><div><br></div><div><a href="http://p.sf.net/sfu/windows-dev2dev">http://p.sf.net/sfu/windows-dev2dev</a></div></div><div><div>_______________________________________________</div><div>Phpmyadmin-devel mailing list</div><div><a href="mailto:Phpmyadmin-devel@lists.sourceforge.net">Phpmyadmin-devel@lists.sourceforge.net</a></div><div><a href="https://lists.sourceforge.net/lists/listinfo/phpmyadmin-devel">https://lists.sourceforge.net/lists/listinfo/phpmyadmin-devel</a></div></div></div></span>
                 
                 
                 
                 
                </blockquote>
                 
                <div>
                    We could perhaps make a common class, and have either the mb or the native functions execute based on the same detecting mechanism that is used right now, i.e. checking if mb_strlen function exists. However, your suggestion seems better. We can instantiate the respective object in string.lib.php as that is the only place these files are included. And then use that object to call string functions.</div><div><div><div><br></div><div>-- </div><div>Ayush Chaudhary</div><div><br></div></div></div>