|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #66491 Alphabetic extension list
Submitted: 2014-01-15 19:39 UTC Modified: 2018-01-25 20:45 UTC
From: kulakov74 at yandex dot ru Assigned: vrana (profile)
Status: Closed Package: Documentation problem
PHP Version: Irrelevant OS: Windows
Private report: No CVE-ID: None
 [2014-01-15 19:39 UTC] kulakov74 at yandex dot ru
Of all the PHP manual formats I have always preferred the chm one. But since some time the structure of its contents under "Function reference" changed from linear to a deeper structure. I do understand the need to get things more in order, but at the same time, with the new nested tree I often experience problems when trying to find sections I used to easily find before. For example, to find String functions, I have to know it's inside the Text Processing node, and in order to find ctype functions I have to know they're in "Variable and Type Related Extensions". In both cases I have to scan through all the TOC. Of course I could use the index but I don't always know the right name I search for and anyway TOC could be more usable. 

As I had to compile the chm manual for myself I used the chance and added an extra node "Extension Alphabetical List" that includes all 3rd level extension names from "Function Reference" sorted alphabetically regardless of their parent node. That is, from "Affecting PHP's Behaviour": APC, APD through Xhprof, then from "Audio Formats Manipulation": ID3, and so on through "XML Manipulation". And I had to go 1 level deeper in the Database Extensions node cause it has 1 extra level. 
The "Extension Alphabetical List" goes right before "Function Reference". Itself does not open any page, and every subnode in it (like Ctype or MySQL) points to a simple fake page funclink.html that only jumps to the original page. Because actually the Alphabetical List introduced duplicates for the nodes it contains, it can't just point to the same page as the original nodes. For example, in my Alphabetical list the node MySql actually points to res/funclink.html#set.mysqlinfo, and funclink.html parses the hash 'set.mysqlinfo' which is actually the name of the original page and jumps there with javascript (window.location.replace(...)). That way I do get to the right page and then if I click the Locate (Find?) toolbar button, I get the corresponding node in the original Function Reference structure (in this case: Database extensions - Vendor Specific DB extensions - MySql). 
So you could do smth like that in the chm manual. 

Test script:

Expected result:

Actual result:


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2014-02-25 22:58 UTC]
I believe this was a bigger deal in the past, before the rewrite, but it's still a worthy request.

Perhaps adding extension names (both the title in our XML, and extension name itself) can be added to the main search? For example, "string" would yield the string extension.
 [2018-01-25 19:30 UTC]
-Status: Open +Status: Closed -Assigned To: +Assigned To: vrana
 [2018-01-25 20:45 UTC] kulakov74 at yandex dot ru
Great. But a link to it might be added to the main doc page (, now it's in Appendices / Extension List/Categorization only.
PHP Copyright © 2001-2018 The PHP Group
All rights reserved.
Last updated: Sat Oct 20 01:01:25 2018 UTC