首頁  >  文章  >  後端開發  >  向外部文件授予對物件樹的存取權限

向外部文件授予對物件樹的存取權限

王林
王林轉載
2024-02-08 23:15:22506瀏覽

向外部文件授予對物件樹的存取權限

php小編新一在這篇文章中將介紹如何在PHP中向外部檔案授予對物件樹的存取權限。在物件導向程式設計中,物件之間的存取權限是非常重要的,它可以控制物件之間的互動和資料共享。透過在PHP中使用存取修飾符(public、protected、private),我們可以限制物件的存取範圍,確保程式碼的安全性和可維護性。本文將詳細解釋這些存取修飾符的用法,並提供一些實際應用的範例,幫助讀者深入理解和運用這些概念。無論您是PHP初學者還是有一定經驗的開發者,本文都將為您提供有價值的知識和實用技巧。讓我們一起來探索PHP中物件存取權限的奧秘吧!

問題內容

假設我的模組內有以下 .go 檔案結構:

  • tree_definition.go
  • tree_creation.go

# tree_creation 解析一些檔案並使用在 tree_definition 中定義的資料結構和方法(以及函數)從中建立物件樹(簡稱 otree)。

在解析過程中,我看到 external.go 檔案包含一些程式碼,旨在存取 otree 並對其進行修改。

解析完成後,external.go中的程式碼應該可以透過我在tree_definition中定義的API來使用otree並對其進行修改。這一切都發生在運行時。

澄清:

  • 是的,我正在嘗試複製 DOM 的行為
  • external.go 來自另一個目錄,而不是來自模組內部
  • 只有在執行時,當tree_creation將external.go加入otree的資料結構時,external.go才可見

# 我已經完成了幾乎所有複製它的步驟。這是最後一部分。遺憾的是,我目前無法提供 Git 的鏈接,以便您可以自己查看,但我會感謝每一條可以幫助我澄清情況的評論。

謹致問候!

我想我明白了。我稍後會發布。

解決方法

好的,我們開始吧! 最後,在我的朋友 bing chat 的幫助下,我能夠找到簡單的解決方案,而無需使用記憶體檔案或透過 localhost 進行 http 請求。提出的解決方案非常優雅並且非常適合我! 我仍然認為我會使用內存文件,但我們拭目以待。這取決於可擴展性。 另外,特別感謝

@burakserdar

他的回答。

package main

// This will be in the runtime file
import (
    "bufio"
    "fmt"
    "os/exec"
)

func main() {
    cmd := exec.Command("go", "run", "user_defined.go")
    stdout, err := cmd.StdoutPipe()
    if err != nil {
        panic(err)
    }
    err = cmd.Start()
    if err != nil {
        panic(err)
    }
    scanner := bufio.NewScanner(stdout)
    for scanner.Scan() {
        fmt.Println(scanner.Text())
        if scanner.Text() == "some_command" {
            fmt.Println("found some_command")
        }
        if scanner.Text() == "another_command" {
            fmt.Println("found another_command")
        }
    }
    err = cmd.Wait()
    if err != nil {
        panic(err)
    }
}
編輯1 事實證明,進程之間有 3 種通訊方式,但最適合我的問題的是共享記憶體。

以上是向外部文件授予對物件樹的存取權限的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:stackoverflow.com。如有侵權,請聯絡admin@php.cn刪除