CodeIgniter: 새 도우미를 생성하시겠습니까?
다양한 방법으로 많은 어레이를 루프하여 페이지에 표시해야 합니다.배열은 모듈클래스에 의해 생성됩니다.'보기'에 함수는 포함하지 않는 것이 좋다는 것을 알고 함수 파일을 어디에 삽입해야 하는지 알고 싶습니다.
도우미를 '연장'할 수는 있지만, 도우미를 연장하고 싶지는 않습니다.루프 기능을 가진 도우미를 만들고 싶습니다.loops_helper라고 합니다.php
CodeIgniter 도우미는 여러 기능을 가진 PHP 파일입니다.그것은 클래스가 아니다
파일을 만들고 다음 코드를 입력합니다.
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
if ( ! function_exists('test_method'))
{
function test_method($var = '')
{
return $var;
}
}
이것을 애플리케이션/헬퍼/에 저장합니다.이것을 「new_helper.php」라고 부릅니다.
첫 번째 행은 파일을 포함하거나 CodeIgniter 범위 밖에서 실행할 수 없도록 하기 위해 존재합니다.이 이후의 모든 것은 자명하다.
도우미 사용방법
이는 컨트롤러, 모델 또는 뷰에 포함될 수 있습니다(권장하지 않음).
$this->load->helper('new_helper');
echo test_method('Hello World');
많은 장소에서 이 도우미를 사용하는 경우 자동 로드 구성 파일에 추가함으로써 자동으로 로드되도록 할 수 있습니다. <your-web-app>\application\config\autoload.php
.
$autoload['helper'] = array('new_helper');
- 매튜
도우미 내부에서 CI 인스턴스를 사용할 수 있는 코드:
function yourHelperFunction(){
$ci=& get_instance();
$ci->load->database();
$sql = "select * from table";
$query = $ci->db->query($sql);
$row = $query->result();
}
, 저는 ."_helper"
같이 입력합니다.
또한 a-> 파일 자동 로드 폴더에 있는 도우미를 자동으로 로드합니다.php 어레이 도우미의 이름에 다음과 같이 "_filename"이 없는 이름을 추가합니다.
$autoload['comunes'] = 어레이 comunes';
그리고 그것으로 도우미의 모든 기능을 사용할 수 있습니다.
새로운 도우미를 작성하려면 픽셀 개발자의 지시에 따를 수 있지만, 특정 응용 프로그램의 특정 부분에 필요한 논리만을 위해 도우미를 작성하지 않는 것이 좋습니다.대신 컨트롤러에서 이 논리를 사용하여 어레이를 최종 의도된 값으로 설정하십시오.이 정보를 얻으면 Template Parser 클래스를 사용하여 뷰에 전달합니다.또한 (바람직하게) 에코 및 포어치 대신 단순한 변수 또는 변수 태그 쌍을 사용하여 PHP처럼 보이는 모든 뷰에서 깨끗한 뷰를 유지할 수 있습니다.예:
{blog_entries}
<h5>{title}</h5>
<p>{body}</p>
{/blog_entries}
대신
<?php foreach ($blog_entries as $blog_entry): ?>
<h5><?php echo $blog_entry['title']; ?></h5>
<p><?php echo $blog_entry['body']; ?></p>
<?php endforeach; ?>
이 접근방식의 또 다른 장점은 커스텀 도우미를 사용하여 모든 작업을 수행할 때처럼 CI 인스턴스를 추가할 필요가 없다는 것입니다.
/application/helpers에 도우미 이름이 포함된 파일을 생성하여 자동 로드 구성 파일에 추가하거나 수동으로 로드합니다.
예를 들어 user_helper라는 파일을 배치합니다.php는 /application/filename에 포함되어 있습니다.
<?php
function pre($var)
{
echo '<pre>';
if(is_array($var)) {
print_r($var);
} else {
var_dump($var);
}
echo '</pre>';
}
?>
이제 도우미를 로딩할 수 있습니다.$this->load->helper(‘user’);
또는 애플리케이션/구성/자동 로드에 추가합니다.php config 입니다.
어플리케이션 도우미 디렉토리에서 도우미를 정의하고 컨트롤러에서 호출하면 다음과 같은 기능 이름만 사용할 수 있습니다.
helper name = new_helper.php
function test_method($data){
return $data
}
컨트롤러에서 도우미를 로드합니다.
$this->load->new_helper();
$result = test_method('Hello world!');
if($result){
echo $result
}
출력은 다음과 같습니다.
Hello World!
설정 파일에서 항목을 가져오려면 다음 기능을 사용합니다.
$this->config->item('item name');
여기서 item name은 취득하는 $config 배열 인덱스입니다.예를 들어, 언어 선택을 가져오려면 다음을 수행합니다.
$lang = $this->config->item('language');
가져오려는 항목이 존재하지 않으면 함수는 FALSE(부울)를 반환합니다.
설정 항목을 특정 인덱스에 할당하기 위해 $this->config->load 함수의 두 번째 파라미터를 사용하는 경우 $this->config-> item() 함수의 두 번째 파라미터에 인덱스 이름을 지정하여 해당 파라미터를 취득할 수 있습니다.예:
// blog_settings라는 이름의 설정 파일을 로드합니다.php를 사용하여 "syslog_syslog"라는 인덱스에 할당합니다.
$this->config->load('blog_settings', TRUE);
// blog_settings 배열에 포함된 site_name이라는 이름의 구성 항목을 가져옵니다.
$site_name = $this->config->item('site_name', 'blog_settings');
// 동일한 항목을 지정하는 다른 방법:
$blog_config = $this->config->item('blog_settings');
$site_name = $site_config ['site_name'];
언급URL : https://stackoverflow.com/questions/804399/codeigniter-create-new-helper
'sourcecode' 카테고리의 다른 글
XAMPP/Apache 서비스 파일을 htdocs 폴더 외부에 만듭니다. (0) | 2022.11.17 |
---|---|
바닐라 JavaScript를 사용하여 div의 폭을 구하는 방법은 무엇입니까? (0) | 2022.11.17 |
대조란 무슨 뜻입니까? (0) | 2022.11.17 |
MySQL에서 두 날짜의 일수를 구하는 방법은 무엇입니까? (0) | 2022.11.16 |
Safe String to BigDecimal 변환 (0) | 2022.11.16 |