이전 글에서는 PEAR의 개념과 코딩규칙, 간단한 사용법에 대해 소개하였습니다. 이번에는 기존 PEAR 라이브러리의 일부 모듈의 기능과 활용 방법을 소개하겠습니다.
1. 명명 규칙 기존 Pear 모듈을 이해하기 전에 먼저 PEAR의 조직 분류 및 명명 규칙을 이해해 보겠습니다. PEAR의 모듈 구성은 CPAN과 유사합니다. 각 모듈의 관련 파일은 자체 카테고리 디렉토리에 배치되며 일부는 Pear(단일 파일)의 루트 디렉토리에 직접 배치됩니다. PEAR에는 Java와 같은 이름 공간이 없으므로 클래스 이름은 모듈 이름 또는 상위 클래스 이름 간의 관계를 반영해야 하며 특정 규칙을 준수해야 합니다. 예를 들어 모듈 이름: "Mp3/common", PHP 파일 Mp3/common.php에 위치해야 하며, 모듈의 클래스 이름은 Mp3_common이어야 합니다. 일반적으로 모듈이 기존 모듈에서 개선된 경우 모듈과 기존 모듈을 동일한 디렉터리에 배치하는 것이 좋습니다. 새 클래스나 모듈을 디자인하는 경우 새 디렉터리를 직접 만들거나 유사한 목적으로 동일한 디렉터리에 배치할 수 있습니다. 예를 들어, 로그 처리를 위한 새 모듈을 작성하는 경우 이를 Log/ 아래에 두는 것이 좋습니다. 즉, 새 모듈이 MP3 처리에 사용되는 경우 A를 생성할 수 있습니다. 새 디렉토리 mp3는 mp3 디렉토리 아래에 배치됩니다.
2. 기존 PEAR 모듈 대부분의 Pear 모듈은 아직 개발 중이므로 여기에 php4.05와 함께 릴리스된 pear의 모듈이 있습니다. 일부 추상 클래스 또는 기본 클래스(예: Mail.php, Log.php, Cache)에 유의해야 합니다. .php)은 나열되지 않으며 특정 기능을 가진 모듈에만 중점을 둡니다. 다음은 이러한 모듈의 목록입니다.
벤치마크/타이머는 PHP 코드의 실행 효율성을 테스트합니다.
Benchmark/Benchmark_Iterate는 루프에서 실행될 때 함수의 성능을 테스트합니다.
캐시/출력은 PHP 스크립트의 출력을 다양한 방법(파일, 데이터베이스 또는 공유 메모리)으로 캐시할 수 있습니다. 이 모듈을 사용하면 서버의 로드가 증가할 수 있으므로 원하는 경우. to pass 동적 스크립트를 캐싱하여 효율성을 높이려면 Zend 최적화를 사용하는 것이 좋습니다. 이 모듈은 적합하지 않을 수 있습니다.
캐시/그래픽은 동적으로 출력하는 데 필요한 이미지를 캐시할 수 있습니다.
콘솔/Getopt 명령줄 매개변수 처리 모듈
CMD는 일부 시스템 명령을 실행하는 데 사용할 수 있는 가상 셸입니다.
Crypt/CBC는 Perl Crypt::CBC 모듈의 시뮬레이션을 구현합니다.
Crypt/HCEMD5는 Perl Crypt::HCE_MD5 모듈의 기능을 구현합니다.
Date/Calc는 날짜 관련 작업을 구현합니다.
날짜/인간 달력 변환
DB는 통합되고 추상적인 데이터베이스 운영 계층을 제공하고 백엔드는 여러 데이터베이스를 지원합니다.
파일/찾기 파일 검색
File/Passwd는 비밀번호, httppass, cvspassword와 같은 비밀번호와 유사한 파일을 조작합니다.
File/SearchReplace 파일에서 문자열 찾기 및 바꾸기
HTML/양식은 html로 양식을 빠르게 생성할 수 있습니다.
HTML/IT는 템플릿 사용자 정의를 구현하고 phplib의 템플릿 기능과 유사하게 페이지를 동적으로 생성하지만 간단하고 사용하기 쉬워야 합니다.
HTML/ITX는 IT를 위한 확장된 기능을 구현하므로 템플릿을 보다 유연하게 사용자 정의하고 보다 복잡한 작업을 수행할 수 있습니다.
HTML 파일 작업에 적용할 수 있도록 HTML/Processor XML_Parser 확장
HTTP/Compress는 Php의 출력 버퍼링 메커니즘을 위한 래퍼 클래스로, 버퍼링된 콘텐츠를 압축하고 저장할 수도 있습니다.
이미지/원격은 전체 이미지를 로컬로 다운로드하지 않고도 원격 시스템의 이미지 정보를 얻을 수 있습니다.
로그/복합 Horde는 여러 로그 처리 개체가 동일한 로그 이벤트를 얻을 수 있도록 하는 로그 추상 클래스의 확장입니다. Log 디렉터리 아래의 모듈은 모두 Horde 프로젝트의 일부이며 대부분 추상 슈퍼 클래스입니다.
로그/파일은 로그 정보를 파일에 기록합니다.
Log/mcal은 로컬 또는 원격 일정 관리 소프트웨어-mcal의 데이터베이스에 정보를 보냅니다.
Log/observer Horder의 Observer 슈퍼클래스
Log/sql은 로그 정보를 sql 데이터베이스로 보냅니다.
로그/syslog는 syslog에 정보를 보냅니다.
Mail/RFC822 이메일 주소가 유효한 rf822 이메일 주소인지 확인합니다.
메일/sendmail sendmail을 사용하여 편지 보내기
메일/smtp는 smtp 서버를 사용하여 편지를 보냅니다.
Math/Fraction은 프랙탈의 수학적 계산을 처리합니다.
Math/Util은 최대 공약수를 계산합니다.
NET/Curl은 PHP의 Curl 확장을 위한 객체 지향 래퍼입니다.
NET/Dig는 dig를 조작하여 DNS 관련 쿼리 작업을 수행합니다.
NET/SMTP는 NET/소켓을 사용하여 SMTP 프로토콜을 구현합니다.
NET/Socket 범용 소켓 클래스는 일반적으로 사용되는 소켓 작업의 패키징을 구현합니다.
숫자/로마 아라비아 숫자와 로마 숫자 사이의 변환
결제/Verisign은 Verisign 결제 게이트웨이와의 상호 작용을 구현합니다.
Pear는 Pear 모듈의 두 가지 기본 클래스인 PEAR 및 PEARError 클래스를 제공합니다.
PEAR/설치 프로그램 pear 설치 클래스는 Perl의 CPAN 모듈과 유사한 기능을 제공합니다.
PHPDoc은 PHP 코드에서 API 문서를 자동으로 생성합니다.
Schedule/at은 Unix의 AT 데몬과 상호 작용합니다.
XML/Parser는 PHP의 xml 확장자를 기반으로 하는 xml 파서입니다.
XML/렌더는 XML 문서를 다른 형식(html, pdf)으로 생성합니다. 이것은 단지 추상 클래스일 뿐입니다. 최신 pear cvs 코드에는 이미 html이 구현되어 있습니다.
XML/RPC는 php를 사용하여 xml-rpc의 추상 클래스를 구현합니다. 최신 pear cvs 코드에는 이미 xml/RPC/Server 구현이 있습니다.
3. 주요 모듈 사용 소개 이제 몇 가지를 간략하게 소개하겠습니다. 상대적으로 완전하고 안정적이며 "실용적인" 모듈에서 사용할 수 있습니다. Db, phpdoc, XML_Parser, IT 및 ITX와 같은 몇 가지 강력한 모듈은 향후 기사에서 별도로 소개됩니다.
1.PEAR/설치자
이 모듈은 pear 자체의 핵심 모듈입니다. 이는 pear의 다른 모듈의 설치 및 유지 관리를 완료합니다. 그러나 현재는 쿼리와 같은 기타 기능만 가지고 있습니다. 종속성 확인 등은 완료되지 않았습니다. Pear 자체는 cpan과 같은 공개 사이트는 없지만 Pear에 참여하는 개발자 수가 계속 증가함에 따라 모든 것이 거기에 있을 것입니다.
사용 구문: PEAR_Installer::installer($file)
$file은 설치해야 하는 모듈 파일입니다. 로컬 파일이거나 http:// 또는 ftp와 같은 원격 파일일 수 있습니다. 파일은 일반적으로 패키지를 포함해야 하는 gzip을 사용하여 패키지됩니다. pacakage.xml의 DTD 파일은 pear 디렉터리에 있으며 이름은 package.dtd입니다
.
require_once "PEAR/Installer.php";
$installer = 새로운 PEAR_Installer;
//지정된 모듈을 설치합니다.
$result = $installer->install($package_file);
if (PEAR::isError($result)){
echo "$package_file 설치에 실패했습니다!";
}또 다른 {
echo "$package_file 설치 성공!";
}
?>
2.CMD
대부분의 PHP 응용 프로그램은 시스템 명령을 호출하는 경우가 거의 없지만 이러한 응용 프로그램은 웹 기반이므로 운영 효율성 및 시스템 부하 측면에서 시스템 명령에 대한 직접 호출은 피해야 합니다. PHP는 쉘 도구로 사용되기 때문에 기존 시스템 도구를 호출하는 것이 불가피합니다. CMD를 사용하면 일련의 시스템 명령을 쉽게 실행할 수 있습니다.
사용 구문: setOption($option, $setting)
$options 매개변수를 $setting으로 설정합니다.
$options는 상수이며 다음 값일 수 있습니다.
CMD_SHUTDOWN: 종료 기능을 통해 명령을 실행합니다.
CMD_SHELL: 쉘의 경로를 지정합니다.
CMD_OUTPUT: 명령의 표준 출력을 차단할지 여부
CMD_NOHUP: nohup을 사용하여 백그라운드에서 명령을 실행합니다.
CMD_VERBOSE: 표준 출력
명령($command)
에 오류를 인쇄합니다.
실행해야 하는 명령을 추가합니다. $command는 배열이거나 일반 문자열
exec()
일 수 있습니다.
추가된 명령
<?php를
실행합니다.
require_once "CMD.php";
$cmd = 새 CMD;
$cmd->command('tar zcvf test.tar.gz ~/test');
if ( $cmd->exec() ) {
echo "성공!n";
} 에일 {
echo "오류:" . $cmd->lastError;
}
?>
3.벤치마크/타이머 및 벤치마크/반복
이 2개의 모듈을 사용하면 코드가 얼마나 효율적으로 실행되는지 테스트할 수 있으며 이는 시스템 디버깅에 유용하다고 생각합니다. 다양한 알고리즘을 시도하고 각 알고리즘을 실행하는 데 걸리는 시간을 주의 깊게 검토한 다음 최선의 방법을 선택할 수 있습니다. 벤치마크/타이머는 작업 중 서로 다른 두 시점 사이의 시간 차이를 테스트합니다. 벤치마크/반복은 특정 코드(함수)를 n번 실행하는 데 필요한 시간을 테스트하는 타이머의 확장입니다.
사용 구문: 벤치마크/타이머
Timer::setMarker($name)는 현재 시점을 $name으로 설정합니다.
Timer::start() 테스트 시작
Timer::stop() 테스트를 중지합니다.
Timer::timeElapsed($start = 'Start', $end = 'Stop') $start와 $end 사이의 시간 차이를 계산합니다.
Timer::getProfiling()은 시작과 중지 사이에 경과된 시간을 반환합니다.
<?php
require_once "벤치마크/Timer.php";
$timer = 새로운 Benchmark_Timer;
$timer->start();
$timer->setMarker('마커 1');
$timer->stop();
$프로파일링 = $timer->getProfiling();
?>
벤치마크/반복
Iterate::run()
루프에서 지정된 기능을 실행합니다. 변수 매개변수를 갖는 메소드입니다. 첫 번째 매개변수는 반복 횟수, 두 번째 매개변수는 실행할 함수, 세 번째 매개변수 이후는 테스트 함수에 전달할 매개변수입니다.
반복::get()
테스트
<?php
에 걸린 시간을 반환합니다.
require_once "Benchmark/Iterate.php";
$benchmark = 새로운 Benchmark_Iterate
함수($string)
{
$string을 인쇄하세요."
";
}
$benchmark->run(100, 'foo', '테스트');
$result = $benchmark->get();
?>
3.파일/찾기
&glob($pattern, $dirpath, $pattern_type='php')
$dirpath에서 $pattern과 일치하는 디렉터리 및 파일을 검색하고 일치하는 파일 및 디렉터리 이름의 배열을 반환합니다.
&search ($pattern, $directory, $type='php')
$pattern 규칙과 일치하는 파일을 $directory에서 검색하고 일치하는 파일 이름의 배열을 반환합니다(참고: 파일만, 하위 디렉터리는 아님). $pattern은 지정할 검색 조건이며, 일반적으로 $patten_type은 사용할 정규식 모드를 지정합니다. 기본값은 Perl 모드의 정규식을 사용하도록 "perl"을 지정할 수도 있습니다
. 검색 glob과 달리 glob은 하위 디렉터리를 재귀적으로 검색하지 않는 반면, 검색은 하위 디렉터리를 재귀적으로 검색합니다.
<?php
require_once "파일/Find.php";
$find = 새로운 File_Find;
//현재 디렉토리 검색
$php_files = $find->glob("*php",".");
if ( PEAR::isError( $php_files ) ){
"오류: " . $php_files->getMessage() ."n" ;
}
//현재 디렉토리를 재귀적으로 검색
$all_php_files = $find->search("*php",".");
if ( PEAR::isError( $all_php_files ) ){
"오류: " . $php_files->getMessage() ."n" ;
}
?>
4.파일/비밀번호
표준 Unix 비밀번호, Apache의 .htppass 및 cvs의 pserver 비밀번호 파일과 유사한 비밀번호 형식으로 파일을 조작합니다. 코드의 현재 버전으로 판단하면 실제로 이러한 passwd 파일을 유지하는 데 사용할 수 없습니다(예: 섀도우는 지원되지 않음). 그러나 이를 사용하여 유사한 비밀번호 파일을 만들 수는 있지만 보안은 그리 높지 않습니다.
사용 방법:
File_Passwd($file,$lock=0)----------개체를 만듭니다. $file은 작동하려는 암호 파일입니다. $lock은 파일을 잠그기 위해 무리를 사용할지 여부를 지정합니다.
addUser($user,$pass,$cvsuser)------------사용자 추가, $user, $pass는 각각 사용자 이름과 비밀번호, $cvsuser는 cvs 사용자의 ID입니다.
modUser($user,$pass,$cvsuser)------------$user의 비밀번호를 $pass로 변경합니다. $cvsuser는 cvs 사용자의 ID입니다.
delUser($user)---------지정된 사용자 $user 삭제
verifyPassword($user,$pass)------------사용자 비밀번호 확인
close()------------지금 변경 사항을 비밀번호 파일에 저장하고 비밀번호 파일을 닫은 후 파일을 잠금 해제합니다.
5.파일/검색바꾸기
파일에서 문자열을 찾고 바꾸는
방법
: File_SearchReplace($find, $replace, $files, $directories = '', $include_subdir = 1, $ignore_lines = array())$find
객체를 생성하고 설정합니다
.
찾을 문자열(문자열 또는 정규식일 수 있음
)
대체할 문자열(문자열 또는 정규식일 수 있음
)
$directories
로 구분된 배열 또는 문자열에서 대체 작업을 수행할 파일을 지정합니다.
작업할 디렉터리를 선택적으로 ","로 구분된 배열 또는 문자열로 지정합니다
.
디렉터리에서 작업하는 경우 위 작업을 하위 디렉터리에서 반복적으로 수행할지 여부를 지정합니다. 값은 1 또는 0일 수 있습니다.
$ignore_lines
무시할 파일 행을 지정하십시오. 이는 배열입니다. 이 배열의 문자열로 시작하는 모든 파일 행은 무시됩니다.
getNumOccurences()
검색 및 바꾸기가 수행된 횟수를 반환합니다.
getLastError()
마지막 오류 메시지
setFind($find)를
반환합니다.
찾을 문자열을 설정합니다.
setReplace($replace)
대체될 문자열을 설정합니다.
setFiles($files)
교체할 파일을 설정합니다.
setDirectories($directories)
교체할 디렉터리를 설정합니다.
setIncludeSubdir($include_subdir)
하위 디렉터리에서 검색 및 바꾸기도 수행할지 여부를 설정합니다.
setIgnoreLines($ignore_lines)
"일반" 검색 기능을 사용할 때만
setSearchFunction($search_function)을
사용하세요.
사용할 검색 기능을 설정합니다. 이는 다음 매개변수일 수 있습니다.
일반 기본값, 파일 기능을 사용하여 파일 내용을 읽은 다음 str_replace를 사용하여 한 줄씩 바꿉니다.
Quick은 str_replace를 사용하여 전체 파일을 직접 교체합니다.
preg는 preg_replace()를 사용하여 교체합니다. 이 함수의 요구 사항을 충족하는 정규식을 사용할 수 있습니다.
ereg는 ereg_replace()를 사용하여 교체합니다. 이 함수의 요구 사항을 충족하는 정규식을 사용할 수 있습니다.
검색()
찾기 및 바꾸기 작업 수행
<?php
require_once "파일/SearchReplace.php";
require_once "파일/찾기";
//현재 디렉토리를 재귀적으로 검색합니다.
$find = 새로운 File_Find;
$all_php_files = $find->search("*php",".");
if ( PEAR::isError( $all_php_files ) ){
"오류: " . $php_files->getMessage() ."n" ;
}
if ( !count($all_php_file) ){
die "php 소스 파일을 찾을 수 없습니다!n";
}
//pear 표준을 준수하도록 <?의 PHP 플래그를 <?php로 수정합니다.
$replace = new File_SearchReplace('<? ','<?php ',$all_php_files);
$replace->doSearch();
if ( $replace->getLastError() ) {
die "오류가 발생했습니다:" . $replace->getLastError();
} 또 다른 {
echo "총 " . $replace->getNumOccurences() . "가 성공적으로 교체되었습니다. n";
}
?>
6.HTML/양식
사용
하면 HTML 코드를 다시 작성하지 않고도 제출 양식을 빠르게 생성할 수 있습니다.
사용법: Form::HTML_Form($action, $method = 'GET', $name = '', $target = '' )
이 클래스에는 기본적으로 HTML 코드로 작성된 양식 매개변수와 동일한 몇 가지 매개변수가 있습니다. $action은 양식에 제출할 URL이고, $name은 양식 이름을 지정할 수 있으며, $target은 열 것인지 여부를 지정합니다. 새 창 등
다음 addXXX 메소드 시리즈는 해당 컨트롤을 이 양식에 추가하는 데 사용됩니다. 컨트롤의 속성도 HTML의 속성과 일치합니다.
addText($name, $title, $default, $size = HTML_FORM_TEXT_SIZE)
addCheckbox($name, $title, $default)
addTextarea($name, $title, $default,$width = HTML_FORM_TEXTAREA_WT,$height = HTML_FORM_TEXTAREA_HT)
addPassword($name, $title, $default, $size = HTML_FORM_PASSWD_SIZE)
addSubmit($name = "제출", $title = "변경 사항 제출")
addReset($title = "변경사항 취소")
addSelect($name, $title, $entries, $default = '', $size = 1,$blank = '', $multiple = false, $attribs = '')
addRadio($name, $title, $value, $default)
addImage($name, $src)
addHidden($name, $value)
표시()
이 양식 표시
<?php
require_once "HTML/Form.php";
//로그인 폼 생성 및 표시
$myform = new HTML_Form("./login.php");
$myform->addText('사용자 이름','사용자 이름','');
$myform->addPasswd('passwd','로그인 비밀번호',20);
$myform->addHidden('재시도','1');
$myform->addSumit('로그인','로그인');
$myform->디스플레이();
?>
7.메일/RFC822
입력한 이메일이 합법적인지 확인하는 것은 쉬운 일이 아니지만 몇 가지 정규식을 사용하여 확인하려고 할 수도 있지만 그렇게 편리하고 효과적이지는 않습니다. 이제 일련의 이메일 주소가 RFC822 표준을 준수하는지 확인하고 이를 별도의 이메일 주소로 분할하려면 매우 간단하고 실용적인 이 모듈을 사용해 볼 수 있습니다.
사용법: Mail_RFC822($address = null, $default_domain = null, $nest_groups = null, $validate = null)
클래스 생성자, $address는 확인하려는 일련의 주소이고, $default_domain은 기본 도메인 이름 또는 호스트 이름을 지정합니다. $nest_groups $validate가 각 원자의 유효성을 검사해야 하도록 출력에서 그룹화할지 여부입니다.parseAddressList($address = null, $default_domain = null, $nest_groups = null, $validate = null) 구문 분석 주소 목록인 경우 유효하면 분할 주소 목록이 반환됩니다. 오류가 발생하면 오류 메시지가 반환됩니다.
<?php
require_once "메일/RFC822.php";
$rf822 = 새로운 Mail_RFC822;
$result=$rf822->paseAddressList('who;[email protected];[email protected]');
if ( $rf822-> 오류 ){
echo "오류:$result";
}또 다른 {
재설정($결과);
($i=0; $i< 개수($result);$i++){
echo "이메일:$result[$i]n";
}
}
?>
8.메일/센드메일
Sendmail은 unix/linux에서 가장 일반적으로 사용되는 MTA입니다.
사용법: Mail_sendmail($params)
클래스 생성자는 sendmail의 매개변수를 설정할 수 있습니다. 편지를 보내기 위해 sendmail 경로 send($recipients, $headers, $body)를 설정하는 데 사용되는 'sendmail_path'만 유효합니다. $recipients는 수신자의 이메일 주소로, 단일 주소이거나 공개 주소 목록으로 구분될 수 있습니다. RFC82 표준을 충족하는 한 열 수 있습니다. $headers는 보내는 편지의 헤더입니다. 배열의 키는 헤더의 이름(예: 제목)이고 배열 값은 헤더의 값(예: Hello!)입니다. . 처리된 레터헤드는 다음과 같습니다. 제목:Hello! $body는 모든 MIME 인코딩된 부분을 포함하는 편지의 본문입니다. 성공하면 true를 반환하고, 그렇지 않으면 PEAR_Error 객체를 반환합니다.
<?php
require_once "메일/sendmail.php";
$sendmail = new Mail_sendmail(array('sendmail_path=>'/usr/local/bin/sendmail'));
$header = array('제목'=>'안녕하세요','BCC'=>'[email protected]');
$body = 'nightsailer.com에서 보낸 테스트 메시지입니다.';
$result = $sendmail->send( '[email protected]' , $header, $body);
if ( PEAR::isError($result) ){
echo "<h1> 보내기 실패</h1><br>이유: ".$result->getMessage()."<br>";
}또 다른 {
echo "<h1>축하합니다! 성공적으로 전송되었습니다!</h1><br>";
}
?>
9.메일/smtp
현재 일부 사이트에서는 sendmail 사용을 허용하지 않으므로 PHP 프로그램에서 메일 보내기 기능을 사용하려면 외부 SMTP 서버를 사용하여 해당 기능을 완료할 수 있어야 합니다.
사용법: 이 모듈을 사용하는 것은 기본적으로 Mail::sendmail과 동일합니다. 이 모듈에는 Net::SMTP 모듈을 사용해야 한다는 점에 유의하세요: Mail_smtp($params)
$params에 유효한 매개변수는 다음과 같습니다.
'호스트' SMTP 서버 주소, 기본값은 localhost입니다.
'port' smtp 서비스 포트, 기본값은 25입니다.
'auth' smtp에 인증 확인이 필요한지 여부, 기본값은 false입니다.
'usename' smtp 인증된 사용자 이름
'password' smtp 승인된 비밀번호
보내기($recipients, $headers, $body)
<?php
보내기
require_once "메일/sendmail.php";
$params=array('host'=>'smtp.nightsailer.com','auth'=true,
'사용자 이름'=>'밤','비밀번호'=>'123456');
$sendmail = 새로운 Mail_sendmail($params);
$header = array('제목'=>'안녕하세요','BCC'=>'[email protected]');
$body = 'nightsailer.com에서 보낸 테스트 메시지입니다.';
$result = $sendmail->send( '[email protected]' , $header, $body);
if ( PEAR::isError($result) ){
echo "<h1> 보내기 실패</h1><br>이유: ".$result->getMessage()."<br>";
}또 다른 {
echo "<h1>축하합니다! 성공적으로 전송되었습니다!</h1><br>";
}
?>
10.일정/시간
이 모듈은 유닉스에서 at 프로그램의 인터페이스
add($cmd, $timespec, $queue = false, $mail = false)를
제공합니다.
at 명령을 추가하면
이 메서드는 at 프로그램에 대한 사용자 정의 작업을 생성합니다.
$cmd는 실행하려는 프로그램 또는 스크립트입니다.
$timespec은 작업 실행이 시작되는 시간이며 형식은 at에서 요구하는 것과 동일합니다.
$queue 작업의 대기열 이름을 나타내는 선택적 매개변수
$mail 작업 종료 후 실행 결과를 보고하기 위해 이메일을 보낼지 여부를 나타내는 선택적 매개변수
show($queue = false)
at 큐에 표시된 명령은 연관 배열을 반환합니다. 해당 키 값도 연관 배열입니다(런타임, 큐).
Remove($job = false)와
일치하는 큐의 작업 목록만 반환하도록 제한할 수 있습니다.
at 대기열에서 지정된 at 작업을 삭제합니다. $job은 삭제할 작업 번호입니다. 성공하면 true를 반환하고, 그렇지 않으면 false를 반환합니다
.
require_once "일정/At.php";
$at = 새로운 Schedule_At();
//작업 생성 및 추가
$result = $at->add ('find / -type 파일 -name core -exec rm -f {} ;','00:00');
if ( PEAR::is_Error($result) ) {
echo "작업을 추가할 수 없습니다!n";
echo "이유: $result->getMessage() n";
출구;
}
//현재 대기열 표시
$queue = $at->show();
if ( PEAR::isError($queue) ) {
echo "오류가 발생했습니다!n";
echo "이유:" . queue->getMessage().
출구;
}
재설정( $queue );
while ( list($job, $cmd) = 각 $queue ){
echo "[$job]" . $cmd['runtime'] . "-" .$cmd['queue'];
에코 "n"
}
?>
위 내용은 일부 PEAR 모듈의 용도입니다. 자세한 지침을 보려면 해당 모듈의 소스 파일을 직접 확인하거나 phpdoc을 사용하여 해당 모듈의 API 문서를 자동으로 생성할 수 있습니다. phpdoc에 대해서는 다음 글에서 자세히 다루겠습니다.
4. 자원
PEAR CVS 여기에서 최신 PEAR 소스 코드를 얻을 수 있습니다.
호더 프로젝트
PHPDoc 홈 페이지