﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="generator" content="Adobe RoboHelp 8">
<title>PHP Functions View</title>
<link rel="StyleSheet" href="default.css" type="text/css">
<style type="text/css">
<!--
body { border-left-style:None;
border-right-style:None;
border-bottom-style:None;
background-color:Transparent;
border-top-style:None; }
-->
</style>
<style type="text/css">
<!--
body { border-left-style:None;
border-right-style:None;
border-bottom-style:None;
background-color:Transparent;
border-top-style:None; }
-->
</style>
<script type="text/javascript" language="JavaScript">
//<![CDATA[
function reDo() {
  if (innerWidth != origWidth || innerHeight != origHeight)
     location.reload();
}
if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
	origWidth = innerWidth;
	origHeight = innerHeight;
	onresize = reDo;
}
onerror = null; 
//]]>
</script>
<style type="text/css">
<!--
div.WebHelpPopupMenu { position:absolute;
left:0px;
top:0px;
z-index:4;
visibility:hidden; }
p.WebHelpNavBar { text-align:right; }
-->
</style>
<script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
<script type="text/javascript" language="javascript" src="whver.js"></script>
<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
<script type="text/javascript" language="javascript1.2" src="whlang.js"></script>
<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
<script type="text/javascript" language="javascript1.2">//<![CDATA[
<!--
if (window.gbWhTopic)
{
	var strUrl = document.location.href;
	var bc = 0;
	var n = strUrl.toLowerCase().indexOf("bc-");
	if(n != -1)
	{
		document.location.href = strUrl.substring(0, n);
		bc = strUrl.substring(n+3);
	}

	if (window.setRelStartPage)
	{
	addTocInfo("Reference\nPHP Perspectives and Views\nAdditional Views\nPHP Functions View");
addAvenueInfo("Reference","expressions_view.htm","project_outline_view.htm");

	}

	document.write("<p style=\"text-align:left\"> ");
AddMasterBreadcrumbs("ide_help.htm", "", "&gt;", "Home", "pdt_table_of_contents.htm");
document.write("<a href=\"reference.htm\">Reference<\/a> &gt; <a href=\"php_perspectives_and_views.htm\">PHP Perspectives and Views<\/a> &gt; <a href=\"php_functions_view.htm\">Additional Views<\/a> &gt; PHP Functions View<\/p>");


	if (window.setRelStartPage)
	{
	setRelStartPage("ide_help.htm");

		autoSync(0);
		sendSyncInfo();
		sendAveInfoOut();
	}

}
else
	if (window.gbIE4)
		document.location.reload();
//-->
//]]></script>
</head>

<body leftmargin="5" topmargin="5" rightmargin="5" bottommargin="5"><script type="text/javascript" language="javascript1.2">//<![CDATA[
<!--
if (window.writeIntopicBar)
	writeIntopicBar(4);
//-->
//]]></script>
<div style="width: 100%; position: relative;" id="header">
	
	
 <p align="right"><a 
	 title="Documentation Survey" href="http://spreadsheets.google.com/viewform?formkey=dC1scEswTjFia2tDQ3Y5TVJBbkNQcWc6MQ">Documentation 
	 Survey</a> 
	 | <a href="javascript:crlf=&quot;&quot;;h=location.href;t=document.title;e = &quot;&quot; + (window.getSelection ? window.getSelection() : document.getSelection ? document.getSelection() : document.selection.createRange().text); if (e!=null) location=&quot;mailto:documentation@zend.com&quot; + &quot;?Subject= Feedback on PDT for page &quot; + escape(t) + &quot;&amp;Body=&quot; + escape(e).replace(/ /g, &quot;+&quot;) + crlf + &quot; &quot;; void 0"><span 
	 style="background-color: #ffffff;">Submit Documentation</span><span 
	 style="background-color: #ffffff;"> Feedback</span></a><span 
	 style="background-color: #ffffff;"></span><span style="background-color: #ffffff;"> 
	 </span><span style="background-color: #ffffff;">| 
	 </span><span 
	 style="background-color: #ffffff;"><a title="View Latest Version and Get PDF Online" 
											 href="http://www.zend.com/en/resources/zend-documentation/" 
											 target="_blank">View Latest 
	 Version and Get PDF Online</a></span></p>
</div>


<h1>PHP Functions View 
 </h1>
<p>&#160;</p>
<p>The PHP Functions view lists most commonly used PHP Classes, Constants 
 and Iterators. The PHP Functions view can be used in order to easily add 
 functions into your scripts. To add a function to your code, simply place 
 the cursor in the required position in the Editor and double-click the 
 required element from the list.</p>
<p>&#160;</p>
<p>To access the view, go to Window | 
 Show View | Other | PHP Tools | PHP Functions.</p>
<p class="picture"><img src="view_php_functions.png" alt="view_php_functions.png" style="border: none;" width="283" height="284" border="0"></p>

<p>Right-clicking a function in PHP Functions view and selecting Open Manual 
 will open an online version of the PHP manual with an explanation about 
 most of the functions on the list.</p>
<p>A new browser window will open with an explanation of the function from 
 the PHP Manual.</p>
<p class="picture"><img src="phpmanual_integration.png" alt="phpmanual_integration.png" style="border: none;" width="488" height="228" border="0"></p>

<p class="Note">Note:</p>
<p class="NoteText">If the browser opens with a 'Cannot find server' error 
 message, it means the function does not have a description assigned to 
 it in the PHP Manual.</p>
<p>Sites for viewing the PHP Manual can be added and edited from the <a href="php_manual.htm">PHP Manual Preferences</a> page.</p>
<p>&#160;</p>
<h4>PHP Functions View Toolbar commands</h4>
<table cellspacing="0" width="90.281%">
	<col style="width: 15.431%;">
	<col style="width: 24.641%;">
	<col style="width: 59.928%;">
	<tr style="height: 26px;" valign="top">
		<td style="border: Solid 1px #000000; width: 15.431%; padding-right: 10px; 
			 padding-left: 10px;"><p style="font-weight: bold;">Icon</p></td>
		<td style="border-top: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 24.641%; padding-right: 10px; 
			 padding-left: 10px;"><p style="font-weight: bold;">Name</p></td>
		<td style="border-top: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 59.928%; padding-right: 10px; 
			 padding-left: 10px;"><p style="font-weight: bold;">Description</p></td>
	</tr>
	<tr style="height: 43px;" valign="top">
		<td style="border-left: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 15.431%; padding-right: 10px; 
			 padding-left: 10px;"><p><img src="filter_text_box.png" alt="filter_text_box.png" style="border: none;" width="83" height="26" border="0"></p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 24.641%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-weight: normal;">Filter Text box</p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 59.928%; padding-right: 10px; padding-left: 10px;"><p>Allows 
		 you to find a particular function. Start typing the function name. 
		 Relevant results will be displayed below it.</p></td>
	</tr>
</table>
<h4>PHP Functions View Menu Commands</h4>
<p>The view's menu can be accessed through the view menu icon <img src="menu_icon.png" alt="menu_icon.png" style="border: none;" width="17" height="16" border="0">.</p>
<p>&#160;</p>
<table cellspacing="0" width="90.419%">
	<col style="width: 14.371%;">
	<col style="width: 24.559%;">
	<col style="width: 59.547%;">
	<tr valign="top">
		<td style="border: Solid 1px #000000; width: 14.371%; padding-right: 10px; 
			 padding-left: 10px;"><p style="font-weight: bold;">Icon</p></td>
		<td style="border-top: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 24.559%; padding-right: 10px; 
			 padding-left: 10px;"><p style="font-weight: bold;">Name</p></td>
		<td style="border-top: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 59.547%; padding-right: 10px; 
			 padding-left: 10px;"><p style="font-weight: bold;">Description</p></td>
	</tr>
	<tr valign="top">
		<td style="border-left: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 14.371%; padding-right: 10px; 
			 padding-left: 10px;"><p><img src="menu_icon_functions_view.png" alt="menu_icon_functions_view.png" style="border: none;" width="71" height="40" border="0"></p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 24.559%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-weight: normal;">PHP Version selection</p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 59.547%; padding-right: 10px; padding-left: 10px;"><p>Allows 
		 you to choose between PHP4 and PHP5 functions.</p>
		<p>&#160;</p></td>
	</tr>
</table>


<table cellspacing="0" width="100%">
	<col style="width: 7.093%;">
	<col style="width: 92.907%;">
	<tr style="height: 16px;" valign="top">
		<td style="width: 7.093%; padding-right: 10px; 
												 padding-left: 10px;"><p 
			 style="font-size: 6pt;">&#160;</p></td>
		<td style="width: 92.907%; 
												 padding-right: 10px; padding-left: 10px;"><p>&#160;</p></td>
	</tr>
	<tr style="height: 35px;" valign="top">
		<td style="width: 7.093%; padding-right: 10px; 
												 padding-left: 10px;"><p 
			 style="font-size: 6pt;"><img src="link_icon.png" alt="link_icon.png" style="border: none;" width="32" height="40" border="0"> </p></td>
		<td style="width: 92.907%; 
												 padding-right: 10px; padding-left: 10px;"><p 
			 style="font-weight: bold;">Related Links:</p>
		<p style="font-weight: normal;"><a href="php_perspective_views.htm"><span 
		 style="font-weight: normal;">PHP Perspective</span> 
		 </a><a href="php_explorer_view.htm"><br>
		PHP Explorer view</a></p>
		<p style="font-weight: normal;"><a href="project_outline_view.htm">PHP 
		 Project Outline View</a></p>
		<p style="font-weight: normal;"><a href="php_outline_view.htm">Outline 
		 View</a></p>
		</td>
	</tr>
	<tr style="height: 19px;" valign="top">
		<td style="width: 7.093%; padding-right: 10px; 
												 padding-left: 10px;"><p 
			 style="font-size: 6pt;">&#160;</p></td>
		<td style="width: 92.907%; 
												 padding-right: 10px; padding-left: 10px;"><p>&#160;</p></td>
	</tr>
</table>
<div style="width: 100%; position: relative;" id="footer">
	
 <p style="text-decoration: underline; " 
										 align="center">PHP Development 
	 Tools</p>
	
	
</div>
<script type="text/javascript" language="javascript1.2">//<![CDATA[
<!--
if (window.writeIntopicBar)
	writeIntopicBar(0);

highlightSearch();
//-->
//]]></script>
</body>
</html>
