النتائج 1 إلى 6 من 6

الموضوع: ممكن طريقة لاستخراج كل الدوال من سكربت موجود لدي ؟

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Apr 2008
    المشاركات
    146

    ممكن طريقة لاستخراج كل الدوال من سكربت موجود لدي ؟



    السلام عليكم
    ممكن طريقة لاستخراج كل الدوال من سكربت موجود لدي ؟ :shy:





    __________________
    عندما يغـيب المنطق يرتفع الصـراخ


  2. #2
    عضو شرف
    تاريخ التسجيل
    Apr 2002
    المشاركات
    1,379


    لم افهم ... ماذا تقصد بـ طريقة لاستخراج كل الدوال ؟





    __________________
    ضيف الله العتيبي مبرمج حر و مهندس معتمد من زيند (ZCE)
    الاتصال: daif@daif.net او جوال: 0556639884
    الخدمات: تقديم استشارات برمجيه, تطوير بوابات/خدمات إلكترونيه للقطاع العام او الخاص .

  3. #3
    عضو نشيط
    تاريخ التسجيل
    Apr 2008
    المشاركات
    146


    اقصد
    بأن لدي سكربت اريد معرفة ماهي الدوال الموجوده به (كافة الدوال)





    __________________
    عندما يغـيب المنطق يرتفع الصـراخ

  4. #4
    عضو فعال جدا
    تاريخ التسجيل
    Aug 2007
    المشاركات
    3,929


    استخدم برنامج وليكن notepad++
    والذي يتيح لك في البحث في مجموعة من الملفات مرة واحدة
    وابحث عن كلمة function
    ستخرج لك جميع الملفات التي تحتوي علي هذا الكلمة

    شكل الدالة :

    كود PHP:
    function **** (*****) {
    ***
    ***
    ***








  5. #5
    عضو نشيط
    تاريخ التسجيل
    Apr 2008
    المشاركات
    146


    بارك الله فيك سحاب اون لاين

    الا توجد طريقة اخرى؟





    __________________
    عندما يغـيب المنطق يرتفع الصـراخ

  6. #6
    عضو فعال جدا
    تاريخ التسجيل
    Aug 2007
    المشاركات
    3,929


    حاول استخدام هذا السكربت
    يقوم بالبحث عن الدوال وكم مرة تم استخدامها
    الهدف منه اطلاعك علي الدوال التي لا تستخدم في السكربت

    كود PHP:
    <?php
        $functions 
    = array();
        
    $path "/path/to/my/php/project";
        
    define_dir($path$functions);
        
    reference_dir($path$functions);
        echo
            
    "<table>" .
                    
    "<tr>" .
                            
    "<th>Name</th>" .
                            
    "<th>Defined</th>" .
                            
    "<th>Referenced</th>" .
                    
    "</tr>";
        foreach (
    $functions as $name => $value) {
            echo
                    
    "<tr>" 
                            
    "<td>" htmlentities($name) . "</td>" .
                            
    "<td>" . (isset($value[0]) ? count($value[0]) : "-") . "</td>" .
                            
    "<td>" . (isset($value[1]) ? count($value[1]) : "-") . "</td>" .
                    
    "</tr>";
        }
        echo 
    "</table>";
        function 
    define_dir($path, &$functions) {
            if (
    $dir opendir($path)) {
                    while ((
    $file readdir($dir)) !== false) {
                            if (
    substr($file01) == ".") continue;
                            if (
    is_dir($path "/" $file)) {
                                    
    define_dir($path "/" $file$functions);
                            } else {
                                    if (
    substr($file, - 44) != ".php") continue;
                                    
    define_file($path "/" $file$functions);
                            }
                    }
            }               
        }
        function 
    define_file($path, &$functions) {
            
    $tokens token_get_all(file_get_contents($path));
            for (
    $i 0$i count($tokens); $i++) {
                    
    $token $tokens[$i];
                    if (
    is_array($token)) {
                            if (
    $token[0] != T_FUNCTION) continue;
                            
    $i++;
                            
    $token $tokens[$i];
                            if (
    $token[0] != T_WHITESPACE) die("T_WHITESPACE");
                            
    $i++;
                            
    $token $tokens[$i];
                            if (
    $token[0] != T_STRING) die("T_STRING");
                            
    $functions[$token[1]][0][] = array($path$token[2]);
                    }
            }
        }
        function 
    reference_dir($path, &$functions) {
            if (
    $dir opendir($path)) {
                    while ((
    $file readdir($dir)) !== false) {
                            if (
    substr($file01) == ".") continue;
                            if (
    is_dir($path "/" $file)) {
                                    
    reference_dir($path "/" $file$functions);
                            } else {
                                    if (
    substr($file, - 44) != ".php") continue;
                                    
    reference_file($path "/" $file$functions);
                            }
                    }
            }               
        }
        function 
    reference_file($path, &$functions) {
            
    $tokens token_get_all(file_get_contents($path));
            for (
    $i 0$i count($tokens); $i++) {
                    
    $token $tokens[$i];
                    if (
    is_array($token)) {
                            if (
    $token[0] != T_STRING) continue;
                            if (
    $tokens[$i 1] != "(") continue;
                            
    $functions[$token[1]][1][] = array($path$token[2]);
                    }
            }
        }
    ?>











ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض