다른 방법으로 많은 배열을 반복하여 페이지에 표시해야합니다. 배열은 모듈 클래스에 의해 생성됩니다. ‘보기’에 함수를 포함하지 않는 것이 더 좋으며 함수 파일을 삽입 할 위치를 알고 싶습니다.
도우미를 ‘확장’할 수는 있지만 도우미를 확장하고 싶지는 않습니다. 루프 함수를 사용하여 도우미를 만들고 싶습니다. 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;
}
}
이것을 application / helpers /에 저장하십시오 . 우리는 그것을 “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"
다음과 같이 PHP 파일에 텍스트를 추가하는 것만 작동 합니다.
그리고 폴더 aplication-> 파일 autoload.php 에 도우미를 자동으로로드하려면 다음과 같이 “_helper”없이 배열 도우미의 이름을 추가하십시오.
$ autoload [ ‘helper’] = 배열 ( ‘comunes’);
그로 인해 모든 도우미 기능을 사용할 수 있습니다
답변
새로운 도우미를 만들려면 Pixel Developer 의 지침을 따를 수 있지만 특정 응용 프로그램의 특정 부분에 필요한 논리에 대해서만 도우미를 만드는 것은 아닙니다. 대신 컨트롤러에서 해당 논리를 사용하여 어레이를 최종 의도 한 값으로 설정하십시오. 일단 얻은 후에는 템플릿 파서 클래스를 사용하여 뷰에 전달하면 (반복적으로) 반향이나 foreachs 대신 간단한 변수 또는 변수 태그 쌍을 사용하여 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 / helpers 에 다음 내용으로 저장하십시오.
<?php
function pre($var)
{
echo '<pre>';
if(is_array($var)) {
print_r($var);
} else {
var_dump($var);
}
echo '</pre>';
}
?>
이제 헬퍼를 통해로드 $this->load->helper(‘user’);
하거나 application / config / autoload.php 구성에 추가 할 수 있습니다 .
답변
응용 프로그램 도우미 디렉토리에 도우미를 정의한 다음 컨트롤러에서 함수 이름과 같이 호출하십시오.
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라는 구성 파일을로드하고 “blog_settings”라는 인덱스에 할당합니다.
$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 = $ blog_config [ ‘site_name’];